docker 部署nginx 挂载nginx.conf配置文件

第一次用docker部署nginx,特此记录一下

1.用docker image 命令查看当前环境是否有nginx镜像

2.如果没有则用 docker pull nginx 命令下载镜像

3.在/home/jeepay/html/manager目录下建立3个以下文件夹

docker 部署nginx 挂载nginx.conf配置文件_第1张图片

4.执行创建并运行nginx容器的命令

1)docker run --name nginx-manager -d nginx

2)docker cp nginx-manager:/etc/nginx/nginx.conf /home/jeepay/html/manager/conf/

3)docker cp nginx-manager:/etc/nginx/conf.d/default.conf /home/jeepay/html/manager/conf/conf.d/

docker 部署nginx 挂载nginx.conf配置文件_第2张图片

 /home/jeepay/html/manager/conf/和 /home/jeepay/html/manager/conf/conf.d/是要挂载配置文件的目录

可以通过docker exec -it nginx-manager sh 进入到容器里查看要拷贝的nginx.conf和default.conf文件路径

 5.停掉并删除之前创建的nginx容器,然后用挂载的方式重新创建并运行容器

docker 部署nginx 挂载nginx.conf配置文件_第3张图片

docker run --privileged --name nginx-manager -it -p 8192:8192 \
-v /home/jeepay/html/manager/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /home/jeepay/html/manager/conf/conf.d:/etc/nginx/conf.d:ro \
-v /home/jeepay/html/manager/html:/usr/share/nginx/html:rw \
-v /home/jeepay/html/manager/logs:/var/log/nginx -d nginx

 命令解释:

 --privileged   

        使用该参数,container内的root拥有真正的root权限。
        否则,container内的root只是外部的一个普通用户权限。
        privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
        甚至允许你在docker容器中启动docker容器。

--name 

        设置nginx容器的名称

-p 8193:8193

        设置访问端口和nginx容器的监听端口的映射关系

        第一个8193是你访问的端口

        第二个8193是docker的nginx配置文件监听端口

-d 后台挂载运行nginx

-v /home/jeepay/html/merchant/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /home/jeepay/html/merchant/conf/conf.d:/etc/nginx/conf.d:ro \
-v /home/jeepay/html/merchant/html:/usr/share/nginx/html:rw \
-v /home/jeepay/html/merchant/logs:/var/log/nginx

        将docker容器nginx的配置文件目录、日志目录、服务访问目录和挂载到容器外

6.查看容器的状态  docker inspect nginx-manager

docker 部署nginx 挂载nginx.conf配置文件_第4张图片

 7.挂载配置文件并重启nginx容器

1)根据default.conf的配置信息更新配置文件,我这里创建了一个新的manger.conf(这个就是你要挂载的nginx配置文件)

docker 部署nginx 挂载nginx.conf配置文件_第5张图片

docker 部署nginx 挂载nginx.conf配置文件_第6张图片

2)重启nginx容器   docker restart nginx-manager

以上就是docker以挂载文件的形式启动nginx服务

可以到/var/lib/docker/containers/这个目录下查看容器的启动日志信息

你可能感兴趣的:(nginx,docker,运维)