使用docker运行nginx服务,挂载自定义配置文件

错误命令: 下面的方式,启动容器时,-d 后面跟一个指定容器ID的参数写在前面,导致容器不能正常启动,出现异常

docker run --name testnginx -d 7f0fd59e0094 -p 8080:80

问题演示如

先删除该容器,

docker rm testnginx

解决办法: 将 -d 容器id的参数放在最后面即可

docker run --name testnginx -p 8080:80 -d 7f0fd59e0094

至于为什么,不知道原因,还请大佬指教。

测试结果如下,

mkdir -p /opt/u01/exam/nginx/{conf.d,log}

docker cp testnginx:/etc/nginx/nginx.conf /opt/u01/exam/nginx/nginx.conf

docker cp testnginx:/etc/nginx/conf.d/ /opt/u01/exam/nginx/conf.d/

docker cp testnginx:/usr/share/nginx/html/ /opt/u01/exam/nginx/

注意路径: 第二个命令有/,第三个命令路径没有html后缀,否则路径后缀就会多一级,如下图所示,出现问题。

停止原来的容器

docker stop testnginx

删除原来的容器

docker rm testnginx

重新启动容器

docker run --name testnginx -p 8080:80 \

-v /opt/u01/exam/nginx/html:/usr/share/nginx/html \

-v /opt/u01/exam/nginx/conf.d:/etc/nginx/conf.d \

-v /opt/u01/exam/nginx/log:/var/log/nginx \

-v /opt/u01/exam/nginx/nginx.conf:/etc/nginx/nginx.conf \

-d 7f0fd59e0094 \

nginx

暂时没有跑起来,自己也收获很多,认识到docker技术的博大精深,还有待好好学习。有发现问题的大佬还请指教一二。