02-docker添加新的映射卷
在docker容器上添加新的映射卷
2020-12-25 15:23 宋海宾 阅读(494) 评论(0) 编辑 收藏
起因
- 在很多情况下,在启动docker时会用-v参数添加映射卷,但是很多情况是,在容器里面安装了很多模块之后,才发现漏添加某些卷,这时就需要添加新卷的办法
解决方案
方案1
- 把容器保存为镜像,然后用-v参数添加新的卷。这个方式比较麻烦,建议不用
方案2
停止容器,直接修改容器配置文件
- 停止容器
# docker stop 容器名称
- 停止docker服务
如果不停止服务的话,修改配置文件会被docker重新覆盖,无法使文件生效,如果手足够快也可以,但是几乎是不可能的
# systemctl stop docker
- 修改配置文件
配置文件在/var/lib/docker/containers目录,要注意检查自己想修改容器的ID,与子目录的名称是匹配的,要修改两个配置文件,如下
# vi /var/lib/docker/containers/容器ID/config.v2.json
"MountPoints": {
"主机路径": {
"Source": "主机路径",
"Destination": "容器路径",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "主机路径",
"Target": "容器路径"
}
}
}
# vi /var/lib/docker/containers/容器ID/hostconfig.json
"Binds": [
"主机路径:容器路径"
],
要注意标题符号呀,切记切记
- 重启docker服务
# systemctl start docker
- 启动容器
# docker start 容器id