实战
1、下载nginx官方镜像和php-fpm镜像
docker pull nginx
docker pull bitnami/php-fpm
笔者未进行更改docker源,依然是官方源。
当然,你可以使用中国源。
2、使用php-fpm镜像开启php-fpm应用容器
docker run -d --name myFpm -p -v /var/www/html:/usr/share/nginx/html bitnami/php-fpm
-d : 该参数为后台运行之意
-v : 指定宿主机与容器的映射关系。/var/www/html为宿主机的项目目录(自定义的),/usr/share/nginx/html为nginx服务器项目默认的路径。
3、使用nginx镜像开启nginx应用容器
docker run -d --name myNginx -p 8080:80 -v /var/www/html:/usr/share/nginx/html nginx
-p : 该参数设置端口对应的关系。所有访问宿主机8080端口的URL会转发到nginx容器的80端口。
4、查看对应的IP信息
首先查看是否启动成功
docker ps -a
可以看到,上述在STATUS一栏中显示UP,其含义为正在运行。
查看IP信息
docker inspect myFpm | grep "IPAddress"
5、修改nginx的相关配置
在容器中是没有vim命令的,所以不能在容器中直接修改配置文件。所以我们必须通过变通的方式去解决这个问题,否则只能在每个容器中安装vim。
首先登录到对应的容器中,查看配置信息路径,这在之后修改时会用到。
docker exec -it myNginx /bin/bash
-i : –interactive,交互模式。
-t : –tty,开启一个伪终端。
/bin/bash : 必须写,否则会报错。这是开始伪终端时,进入bash界面,也就是命令行界面。
查看对应的配置文件位置
/etc/nginx/conf.d/default.conf
退出命令行,不要使用exit,因为exit会让容器停止。这里使用ctrl + p + q来退出容器。
使用专用的复制命令将配置文件复制到宿主机,然后在宿主机进行编辑(这就是变通的方法)
docker cp myNginx:/etc/nginx/conf.d/default.conf ./default.conf
这里用到了上一步查询到的配置文件路径信息
在宿主机修改配置文件的php部分,内容如下:
location ~ \.php$ {
fastcgi_pass 172.17.0.2:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
再次使用复制命令将其复制到容器中,然后再次进入容器中,将nginx配置文件重新载入
docker cp ./default.conf myNginx:/etc/myNginx:/etc/nginx/conf.d/default.conf
进入到nginx容器中重新载入配置文件
docker exec -it myNginx /bin/bash
service nginx reload
成功了
转载:Linux运维日志
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。