Docker容器修改映射路径
Docker容器修改映射路径
背景
容器已安装运行,后续想要更改映射目录,但又不想删除容器重新运行。
注: 切记一定先关闭docker(已测试,单独关闭容器,或者关闭容器,修改完成后再重启docker都会导致修改不生效)。
以下以修改mongodb容器为例。
查看容器id
1 |
|
根据容器id查看容器在宿主机的目录
如果知道具体的容器,不需查看容器id,直接执行如下:
1 |
|
根据结果可以看到容器id为95ccc7be...,接着往下可以看到容器在宿主机的映射目录/var/lib/docker/containers/95ccc7be33f964...。
修改配置文件中的映射目录
进入上步查询到的目录,查看内容列表。
1
2
3cd /var/lib/docker/containers/95ccc7be33f96443c98c4c4f0b57d8631b2dab9f6e0903fc5fc8ba5f4bf45612
ll或者ls可以查看到config.v2.json和hostconfig.json两个文件,也是本次需要修改的两个配置文件,切记备份再修改。
修改config.v2.json文件
1
vim config.v2.json
可以看到文件内容没有格式,故需在查看模式下格式化该文件内容。
1
:%!python -m json.tool
找到映射目录模块,MountPoints处即为映射目录,映射内容如下
根据标记的内容,根据所需修改对应路径(宿主机目录,还是容器内部路径)
修改hostconfig.json文件
执行如上命令,可查看内容如下。
修改映射目录和config.v2.json目录一致。
重启docker及容器
注: 重启备份文件内容
因为我是修改了对应的容器数据目录,故先把容器待映射目录数据拷贝出来。
1 |
|
重启即可,重新查看修改后目录。
Docker容器修改映射路径
http://www.muzili.ren/2022/06/11/Docker容器修改映射路径/