docker 应用数据的管理之bind mounts
Posted rdchenxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 应用数据的管理之bind mounts相关的知识,希望对你有一定的参考价值。
创建容器使用bind mounts 挂载文件系统。宿主机文件系统会覆盖掉容器里初始数据
[[email protected] ~]# mkdir /www/htpm -pv mkdir: 已创建目录 "/www" mkdir: 已创建目录 "/www/htpm" [[email protected] ~]# docker run -d --name web-7 -p 82:80 --mount type=bind,src=/www/htpm,dst=/usr/share/nginx/html nginx 814082b3448bac40f12fbce6f9f207032d76bf284d8c633a5c7b29788d6e6d85 [[email protected] ~]# ls /www/htpm/ [[email protected] ~]# docker exec -it web-7 bash [email protected]:/# cd /usr/share/nginx/html/ [email protected]:/usr/share/nginx/html# ls [email protected]:/usr/share/nginx/html# [email protected]:/usr/share/nginx/html# mkdir l [email protected]:/usr/share/nginx/html# echo "chenxi" > index.html [email protected]:/usr/share/nginx/html# ls index.html l [email protected]:/usr/share/nginx/html# exit exit [[email protected] ~]# ls /www/htpm/ index.html l
使用另一种方式挂载
[[email protected] ~]# docker run -d --name web-c -p 91:80 -v /www:/opt nginx 9eb50928c53e83b9804862b6441d22fc8a27a4963bd025cd8af41e3922e8e704 [[email protected] ~]# ls /www/ htpm [[email protected] ~]# docker run centos centos:latest nginx nginx:latest nginx:web4 [[email protected] ~]# docker exec -it web-c bash [email protected]:/# ls /opt/ htpm [email protected]:/# ls /opt/htpm/ index.html l [email protected]:/#
volume 与bind mounts 的区别
volume 特点
运行多个容器之间共享数据
当容器被移除时,该卷依旧存在
多容器可以同时挂载相同的卷
当明确删除时卷才会被删除
将容器数据存储在远程数据或其他主机上
将数据从一台docker主机迁移到另一台是,先停止容器,然后备份卷的目录
bind mounts的特点
从主机共享文件到容器。默认情况下。挂载主机/etc/resolv.conf 到每个容器。提供dns解析
在docker主机上的开发环境和容器之间共享源代码。例如,可以将maven target 目录挂载到容器中,每次docker主机构建项是maven项目时,容器都可以访问构建的项目包
当docker主机文件或目录结构包证与容器所需的绑定挂载一致时
以上是关于docker 应用数据的管理之bind mounts的主要内容,如果未能解决你的问题,请参考以下文章
DockerDocker数据卷模式(bind mount与docker managed volume)数据卷插件convoy之NDF部署使用
Data Volume 之 bind mount - 每天5分钟玩转 Docker 容器技术(39)