提示:Centos7.9 Docker 20
前言
一切操作都在云服务器中进行
以下是本篇文章正文内容,下面案例可供参考
一、docker 安装 nginx
nginx 镜像网址:https://hub.docker.com/_/nginx
-
docker 拉取 nginx:
docker pull nginx
-
检查镜像是否拉取成功:
docker images
-
运行一个测试的nginx:
docker run -p 8181:80 -d --name nginxtest nginx
-
在浏览器中输入 http://云服公网ip://8181 访问
-
把容器里的 nginx 目录复制出来,配置是放在 /etc 目录下
docker cp nginxtest:/etc/nginx /etc
-
把容器里的 log 目录复制出来,日志是放在 /var/log 目录下
docker cp nginxtest:/var/log /var/log
-
删除测试的 nginxtest
docker stop nginxtest
docker rm nginxtest
-
查看 nginx 配置结构
tree /etc/nginx
tree 需要安装(yum install tree)
-
查看log日志结构
tree /var/log/log
二、docker 安装 php
-
拉取 php 镜像:
docker pull php:7.4-fpm
-
检查镜像是否拉取成功:
docker iamges
-
运行一个测试的 php:
docker run -d --name phptest php:7.4-fpm
-
进入容器,查看配置文件目录
docker exec -it c215 bash
php -i | grep php.ini
-
把容器里的php目录复制出来,放在 /etc 目录下
docker cp phptest:/usr/local/etc/php /etc
-
删除测试的phptest
docker stop phptest && docker rm phptest
-
查看 php 目录
tree /etc/php
三、修改配置
-
为了方便我在 /opt 目录下创建了docker_nginx_php 目录,并将 /etc/nginx 和 /etc/php 以及 /var/log/log 移动到了 /opt/docker_nginx_php,php.ini-development 重命名为 php.ini,整理后的目录结构如图所示
# index.php <?php echo phpinfo();
-
生成 php 容器
docker run -p 9000:9000 -d --name php7 -v /opt/docker_nginx_php/www:/usr/share/nginx/www -v /opt/docker_nginx_php/php/conf.d/php.ini:/usr/local/etc/php/php.ini php:7.4-fpm
-
修改 nginx 的配置文件 default.conf
查询 php7 容器的ip:docker inspect php7 | grep "IPAddress"
在宿主机修改配置文,内容如下:
-
生成 nginx 容器
docker run -p 8100:80 -d --name nginxphp -v /opt/docker_nginx_php/www:/usr/share/nginx/www -v /opt/docker_nginx_php/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /opt/docker_nginx_php/nginx/log:/var/log/nginx nginx:latest
-
访问 http://云服公网ip:8100/index.php