物理机与启动的Docker容器间的目录映射方式
作者:Jerry 二河小鱼
这篇文章主要介绍了物理机与启动的Docker容器间的目录映射方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
第一步
进入宿主机的配置文件目录。
- # 查看容器存放目录
- 命令:docker info | grep Root
- # 得到容器id
- 命令:cd /var/lib/docker/containers
- # 进入配置文件目录
- 命令:cd /var/lib/docker/containers/容器id
第二步
修改config.v2.json文件。
添加宿主机的/usr/local/scripts映射到容器的/scripts,找到“MountPoints”,添加下面的代码
如果“MountPoints”有内容,注意在下面代码前面加逗号:
"/scripts":{"Source":"/usr/local/scripts","Destination":"/scripts","RW":true,"Name":"","Driver":"","Type":"bind","Propagation":"rprivate","Spec":{"Type":"bind","Source":"/usr/local/scripts","Target":"/scripts"},"SkipMountpointCreation":false}
第三步
修改hostconfig.json文件。
在hostconfig.json文件中添加下面的代码:
"Binds":["/usr/local/scripts:/scripts"]
第四步
启动docker和容器。
- # 重启docker
- 命令:systemctl restart docker
- # 重启容器
- 命令:docker start [容器id]
第五步
测试。
启动docker和容器之后,可以查看宿主机的/scripts目录下的文件是否可以在容器内的/scripts目录下查看到。
若可以在容器内的/scripts目录下查看到,则说明目录映射成功;反之,则说明目录映射失败。
- # 进到容器内
- 命令:docker attach [容器id]
- 或 docker exec [容器id]
- # 进入/scripts目录
- 命令:cd /scripts
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。