1)mkdir -p /home/dockers/nginx/{log,conf,html}
1)docker run --name nginx-manager -d nginx
2)docker cp nginx-manager:/etc/nginx/nginx.conf /home/dockers/nginx/conf/
3)docker cp nginx-manager:/etc/nginx/conf.d/default.conf /home/dockers/nginx/conf
/home/dockers/nginx/conf是要挂载配置文件的目录
可以通过docker exec -it nginx-manager sh 进入到容器里查看要拷贝的nginx.conf和default.conf文件路径
4)备份
配置文件
cp default.conf default.bak.conf
cp nginx.conf nginx.bak.conf
docker run --privileged --name nginx-manager -it -p 8192:8192 -v /home/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v /home/dockers/nginx/conf/default.conf:/etc/ng
inx/conf.d/default.conf:ro -v /home/dockers/nginx/html:/usr/share/nginx/html:rw -v /home/dockers/nginx/log:/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/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro
-v /home/dockers/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf:ro
-v /home/dockers/nginx/html:/usr/share/nginx/html:rw
-v /home/dockers/nginx/log:/var/log/nginx
将docker容器nginx的配置文件目录、日志目录、服务访问目录和挂载到容器外
1)根据default.conf的配置信息更新配置文件,我这里创建了一个新的manger.conf(这个就是你要挂载的nginx配置文件)
2)重启nginx容器 docker restart nginx-manager
以上就是docker以挂载文件的形式启动nginx服务
可以到/var/lib/docker/containers/这个目录下查看容器的启动日志信息