Docker 安装mysql + nginx + php

Docker 部署Nginx+Php+Mysql

本文利用自定义网络方式连接,而非使用–link指向host地址方式

# 安装php7-fpm镜像
docker pull php:7-fpm

# 安装Nginx最新版
docker pull nginx

# 安装Mysql 5.7
docker pull mysql:5.7

# 查看已安装镜像
[root@iZwzZ ~]# docker images
REPOSITORY   TAG                IMAGE ID       CREATED         SIZE
nginx        latest             08b152afcfae   2 weeks ago     133MB
mysql        5.7                8cf625070931   2 weeks ago     448MB
php          7.2                9f290ac43498   7 months ago    398M

# 创建自定义网络 lnmp
[root@iZwz ~]#docker network create lnmp --subnet 172.37.0.0/16 --gateway 172.0.0.1
e70f8ee037147b6d96a864dd8902de1622b3696a838873e1abd1263d0feea589

# 查看网络列表 自定义网络lnmp在其中
[root@iZwz ~]# docker network ls 
NETWORK ID     NAME      DRIVER    SCOPE
e9e08741ccb4   bridge    bridge    local
6c37b27bd514   host      host      local
4c1532fdf136   lnmp      bridge    local
9c3112e80c5c   none      null      local

# 运行php 
[root@iZwz conf.d]# docker run --name php-fpm -v /home/nginx/www:/var/www/html --net lnmp -d -p 9000:9000 php:7-fpm

# 运行nginx
[root@iZwz conf.d]# docker run --name nginx -p 8080:80 -d  -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/conf.d:/etc/nginx/conf.d --net lnmp nginx

# 在挂载出来的目录 home/nginx/conf/conf.d 新建一个配置文件 test.conf
[root@iZwz conf.d]# vim test.conf 
# 内容如下
[root@iZwz conf.d]# cat test.conf  
server {
    listen 80;
    server_name localhost;
    #此处填写nginx上的代码路径
    root /usr/share/nginx/html;

    index index.html index.htm index.php;
    charset utf-8;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page 404 /index.php;

    location ~ \.php$ {
        # 此处填写php-fpm代码路径
        root /var/www/html;
        fastcgi_pass   php-fpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}


# 在挂载目录/home/nginx/www下创建index.php文件
[root@iZwz www]# vim index.php

# 内容如下
[root@iZwz www]# cat index.php
<?php
echo phpinfo();

?>

# 验证 打开ip:8080/index.php

# 安装 myql5.7
docker pull mysql:5.7

# 运行mysql5.7 并挂载相关目录
docker run -d --name mysql5.7 -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
# 参数说明
-d   # 后台运行
-v   # 挂载目录 格式: 主机目录:容器目录
-p   # 暴露端口  外网端口:容器端口
-e   # env 即配置mysql初始化参数

# mysql连接测试 使用navicat 连接测试

结果图:

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值