情景描述
在业务部署的前期,docker只映射了一部分文件卷,在业务运行一段时间后,发现还有新的文件卷需要被映射,那如何快速实现?
对于一个已经存在的容器Container,添加文件卷不能像新建容器时那样直接使用-v参数操作。
操作前提是:你至少需要关停容器一次,需要计划停机时间和日期(规划),通知受影响的相关使用部门(如果是本部门的业务,也许可以便宜行事)。
额外添加卷步骤
使用docker commit基于已经存在的容器创建一个新映像,然后添加新文件卷到新映像,这会保留所有已经存在的配置、脚本、库、控件等信息,最小限度的代价实现需求。
1.获取容器的ID
docker ps
2.clone指定的容器
docker commit b56d1c908b25 newname
上述命令完成后,你会得到一个原始容器的克隆映像,你需要重新创建服务,启用新映像.
3.添加新的文件卷到克隆容器中并指定工作目录
-v
docker run -itd --name newdev -v myapp2:/usr/src/myapp2 -w /usr/src/myapp newname bash
--mount
docker run -itd --name newdev --mount src=myapp2,dst=/usr/src/myapp2 -w /usr/src/myapp newname bash
4.启动容器并检查服务状态
进入容器,查看服务运行状态
docker exec -it <containers> bash
ps aux
标签:容器,src,--,myapp2,usr,卷到,Docker,docker
From: https://blog.51cto.com/ciscoskys/8657554