nginx挂载配置文件和日志-静态目录-方式一

 

环境说明

 

linux系统版本:lsb_release -a

 

docker 版本: docker -v 

不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。

 

 

.a.使用命令启动一个容器。

错误命令: 下面的方式,启动容器时,-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

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

 

 

测试结果如下,

 

 

 

.b.创建一些需要挂载的必要的目录和文件。

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

touch nginx.conf

 

.c.nginx容器中复制nginx相关的配置文件和目录到宿主机中。

 

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后缀,否则路径后缀就会多一级,如下图所示,出现问题。

 

 

 

.d.删除原有容器,重新启动容器。

停止原来的容器

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指令!!!,很多博主都表示需要添加nginx指令,实际上不需要该指令!

如下指令亲测有问题,最后面的nginx指令多余。

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

最终nginx服务成功运行起来,自己也收获很多,认识到docker技术的博大精深,还有待好好学习。

 

 

posted @ 2024-03-23 23:58  一只爱阅读的程序员  阅读(43)  评论(0编辑  收藏  举报