docker将数据从宿主机挂载到容器的方式(二)

docker使用教程相关系列 目录


目录

bind mounts介绍

创建容器

小结


bind mounts介绍

作用将宿主机的目录挂载到容器上

适合场景1:临时生成的目录;

适合场景2:在docker主机上的开发环境和容器之间共享源代码;

创建容器

用-v

docker run -d -it --name=nginx03 -p 88:80 -v /zenghw/nginx:/usr/share/nginx/html nginx

0

用--mount 参数后面用逗号分隔

docker run -d -it --name=nginx03 -p 88:80 --mount type=bind,src=/zenghw/nginx,dst=/usr/share/nginx/html nginx

注:用--mount命令时,docker版本要高于17.06以上的版本

发现宿主机挂载的目录下没有文件,之前是有两个文件的,这个就是bind mounts和volumes的不同点,如果挂载目标在容器中非空,则该目录现有的内容(宿主机挂载的目录和容器上的目录)将被隐藏。

0

0

测试:在容器的/usr/share/nginx/html目录下创建index.html

0

宿主机上的挂载目录也会有这个文件

0

浏览器测试

0

先暂停nginx03容器,创建nginx04容器

0

0

小结:

bind mounts特点:

1、从主机共享配置文件到容器,默认情况下,挂载主机/etc/resolv.conf到每个容器,提供DNS解析。

2、在docker主机上的开发环境和容器之间共享源代码。例如:可以将maven target目录挂载到容器中,每次在docker主机上构建maven项目时,容器都可以访问构建的项目包。

0

3、保持宿主机的目录结构和容器的目录结构一致

猜你喜欢

转载自blog.csdn.net/shi_hong_fei_hei/article/details/114335880