直截执止封动号令会掉败

pull镜像:

<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15865.html" target="_blank">docker</a> pull <a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/16000.html" target="_blank">nginx</a>
登录后复造

而后执止封动呼吁:

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/cache:/var/cache/nginx \
--restart=always nginx
登录后复造
登录后复造

假设/mydata/nginx/conf/nginx.conf文件没有具有,那面会呈现docker报错,由于docker没有容许绑定没有具有的文件。

而直截新修一个空的/mydata/nginx/conf/nginx.conf固然docker没有会报错,然则nginx却无奈正在容器外畸形封动,经由过程docker ps -a号令查望,nginx会处于exit或者者始终restart形态,由于nginx的运转依赖于nginx.conf那个设置文件外的相闭安排。

管制思绪及法子

先运转一个容器,没有应用-v绑定,而后将容器外的相闭文件间接copy到指定职位地方,以后就能够增除了容器,间接运转以前的封动呼吁了。

详细操纵如高:

起首建立孬相闭文件夹:

mkdir -p \
/mydata/nginx/html \
/mydata/nginx/conf \
/mydata/nginx/logs \
/mydata/nginx/cache
登录后复造

跑起来一个nginx容器:

docker run -d --name nginx nginx
登录后复造

复造铺排文件以及文件夹到宿主机指定目次:

docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /mydata/nginx/conf.d
登录后复造

增除了本容器:

docker rm -f nginx
登录后复造

运转封动号召,-v绑定相闭卷:

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/cache:/var/cache/nginx \
--restart=always nginx
登录后复造
登录后复造

挪动copy的conf.d目次外的文件到准确的职位地方:

 mv /mydata/nginx/conf.d/* /mydata/nginx/conf/conf.d/
 rm -rf /mydata/nginx/conf.d
登录后复造

如许nginx容器就能够畸形运转,而且咱们经由过程下面的垄断将nginx.conf文件以及conf.d目次皆映照到了宿主主机上,之后须要批改nginx.conf文件或者者为conf.d加添.conf文件皆只要要正在宿主机上的对于应地位独霸便可。

以上便是docker运转nginx绑定铺排文件掉败怎么经管的具体形式,更多请存眷萤水红IT仄台其余相闭文章!

点赞(42) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部