docker 修改容器得配置文件(挂载逻辑卷)

概述

今天启动通过docker run nignx 生成容器后, 突然想对容器得目录做一个挂载。把容器中的目录挂载到外面。容器运行后,需要再绑定卷,没有相应的命令,最后只能查询了好多文档资料,发现只能手动修改配置文件得方法才可以。 (如果又其他得办法得话,欢迎指出哈)

步骤

停止容器运行

docker stop 容器名 或 容器ID

注意: 必须先停止容器运行

修改hostconfig.json配置文件

vim /var/lib/docker/containers/容器ID/hostconfig.json

如下图:

在这里插入图片描述

“binds:[”/xx/xx:/xxx","/xxx/xxx"]

按照上面格式添加绑定卷(建议先移出来在修改,记得备份哦):宿主机目录:docker容器内目录

修改config.v2.son配置文件

config.v2.json 文件比较复杂,(建议先移出来在修改,记得备份哦),文件内容是 json 格式,格式化后,按照下面格式 添加绑定卷

img

说明:

"【容器内目录】": {
	"Source": "【宿主机目录】",
	"Destination": "【容器内目录】",
	"RW": true,
	"Name": "",
	"Driver": "",
	"Type": "bind",
	"Propagation": "rprivate",
	"Spec": {
		"Type": "bind",
		"Source": "【宿主机目录】",
		"Target": "【容器内目录】"
	},
	"SkipMountpointCreation": false
}

重启docker服务

**注意:**必须重启,如果不重启就启动容器,上面修改的配置文件会恢复原样

systemctl restart docker

启动容器

docker start 容器名 或 容器ID

优缺点

优点:没有副作用,操作简单。
缺点:是需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务的话,就会影响其他容器服务。

个人建议

修改配置文件太罗嗦了。还是直接删除容器,重新创建一个容器吧
如果容器内有重要数据,建议先移出来备份下:
可以用docker cp ff3fc75eb254:/etc/nginx /home/dockerData/nginx/ (docker cp容器id:/容器目录 /宿主机目录) 在进行-v 挂载


个人觉得:挂载得nginx配置文件得时候时候,如果 -v 容器外存在得目录。那么就会已容器外得目录为准,把容器外得目录覆盖到容器内去,如果容器外目录不存在,。那么就会已容器内为准。把容器内得文件复制到容器外去欢迎求认证
https://blog.csdn.net/qq_43792882/article/details/116228678

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值