搭建php-nginx-mysql环境
使用mysql 5.7.29; php 7.2.29; nginx最新版
docker pull php:7.2.29-fpm 
docker pull mysql:5.7.29 
docker pull nginx/var/www/docker-long.com目录结构
mysql     # 保存mysql数据
code      # 放代码 
nginx    # 存放nginx日志
1 php依赖mysql, 所有要先运行mysql
# -e 启动容器的时候传参数, 设置root密码
docker run -d --name=mysql -p 3306:3306 -v /var/www/docker-long.com/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=rootroot mysql:5.7.29 
# 进入查看 
docker exec -it   mysql   /bin/bash 
# 进入容器中的mysql 
mysql -uroot -p
2 docekr php
创建一个Dockerfile, 内容如下:
FROM php:7.2.29-fpm 
 
RUN docker-php-ext-install pdo_mysqldocker build -t php7.2-fpm .
# docker inspect php7.2-fpm
# --link 刚才的mysql容器id:别名; 在php代码中不用写ip:3308,用别名就可以 php7.2-fpm
docker run -d --name=php --link mysql:mysql -v /var/www/docker-long.com/code/:/var/www/html/ php7.2-fpm3 nginx的配置
# nginx/conf.d下的default.conf内容; 注意代理是 php:9000
server {
        listen        80;
        server_name  127.0.0.1 long.com www.long.com;
        root   "/var/www/html";
        location / {
            index index.php index.html;
            autoindex  off;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}运行, 挂载3个目录分别是: 网站配置, logs日志, 代码
docker run -d --name=nginx -p 80:80 -v /var/www/docker-long.com/nginx/conf.d/:/etc/nginx/conf.d/ -v /var/www/docker-long.com/nginx/logs/:/var/log/nginx -v /var/www/docker-long.com/code/:/var/www/html/ --link php:php nginx
成功ok










