留个记录,方便回看
挂载新目录
1.查看容器存在位置
docker info | grap 'Root'
返回的是docker容器存储的位置:/var/lib/docker
2.获取容器对应的那个较长的id
docker ps -a
# 查看对应容器的名字
# 获取长id
docker inspect --format="{{.Id}}" [容器名字]
会返回一个挺长的容器id,例如9dc7dcfcc1d3d4b413a75ef6f70ddf6c6b03c3003e03916a3faadcf25e4ee813
3.进入对应容器配置文件目录
cd /var/lib/docker/containers/[获取的那长串id]
进入之后应该可以看到config.v2.json和hostconfig.json。这两个就是需要更改的文件。
4.关闭容器,关闭docker(记着关,不然重启的时候会覆盖咱做的修改)
systemctl stop docker
5.修改config.v2.json
例如将主机下的home/dockertest文件夹映射到容器home/test中
在config.v2.json中找到MountPoints,添加以下代码。(如果MountPoints中有内容,记得加逗号)
文件vim命令打开后,并非格式化后的json,这里可以通过:%!python3 -m json.tool
命令将其进行格式化,方便查看
{
......
"MountPoints": {
......,
"/home/dockertest": {
"Source": "/home/dockertest",
"Destination": "/home/test",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/home/dockertest",
"Target": "/home/test"
},
"SkipMountpointCreation": false
}
},
......
}
6.修改hostconfig.json
在Binds中添加以下代码(若Binds原本有内容,记得添加逗号)
{
"Binds": [
......,
"home/dockertest:home/test"
],
......
}
7.重启docker和容器
systemctl start docker
docker start [容器id]
能在容器中找到home/test目录,就是成功了。文章来源:https://www.toymoban.com/news/detail-488847.html
参考文章:docker对已经启动的容器添加目录映射(挂载目录)_docker已运行容器挂载目录_alwaysonline819的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-488847.html
到了这里,关于docker将本地目录映射到容器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!