docker宿主机外部挂载

Posted 程序彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker宿主机外部挂载相关的知识,希望对你有一定的参考价值。

有一种情况:
当我们首次docker run并没有-name指定容器名,并没有-v挂载外部文件时,我们在创建该容器后,只能屡次通过docker exec -it xxx bash进入容器程序内部修改具体配置等信息,而且如果在docker中部署nginx,为实现动静分离,会将静态static文件放到docker中的nginx内,此时我们根本无法实现宿主机的文件和docker容器内部文件的方便访问。

此时:挂载技术帮助我们解决了再宿主机本地文件中直接新增修改配置和资源文件,即可快速完成。

如果你最初没有在本地挂载文件,你可先将原先在docker容器中的nginx文件复制到宿主机本地,使用docker container cp nginx:/etc/nginx . (.表示当前pwd已创建好的挂载目录)命令,类似一种卸磨杀驴的备份做法。
在执行

docker run -p 80:80 --name nginx -v /Users/liweitong/mydata/nginx/html:/usr/share/nginx/html -v /Users/liweitong/mydata/nginx/logs:/var/log/nginx -v /Users/liweitong/mydata/nginx/conf:/etc/nginx -d 0346349a1a64

创建好容器后,(注意挂载-v后需要写全绝对路径)
此时在docker界面的Docker -> Preferences… -> Resources -> File Sharing.指定你要分享的挂载路径。

以上是关于docker宿主机外部挂载的主要内容,如果未能解决你的问题,请参考以下文章

Docker容器数据卷挂载使用

docker存储与网络

docker挂载volume的用户权限问题,理解docker容器的uid

06-Docker-容器数据卷

docker的复制和挂载

docker数据卷挂载使用