ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Docker】容器数据卷

2021-09-13 11:34:40  阅读:177  来源: 互联网

标签:容器 宿主机 目录 3.2 3.1 Docker 数据 docker


文章目录

1 是什么

在这里插入图片描述

2 能干嘛

  • 容器的持久化
  • 容器间继承 + 共享数据

在这里插入图片描述

3 容器内添加数据卷(容器与宿主机之间传递数据)

3.1 直接命令添加

3.1.1命令:docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

# 没有文件夹名的话,会新建一个文件夹
docker run -it -v /myDataVolume:/dataVolumeContainer centos

3.1.2 查看数据卷是否挂载成功

docker inspect 容器ID

在这里插入图片描述

3.1.3 容器和宿主机之间数据共享

在上述新建的两个目录中,
宿主机增删改文件后,docker容器可以看到;
同样docker容器在该目录中进行增删改后,在宿主机中可以看到
# 牛逼,有点像共享文件夹

在这里插入图片描述

3.1.4 容器停止退出后,主机修改数据是否同步

容器停止退出后,主机修改数据仍然是同步的

在这里插入图片描述

3.1.5 带权限的命令:docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

ro = read only,只读

容器内的目录只允许主机单向修改,在容器内不能添加或修改文件
docker run -it -v /myDataVolume2:/dataVolumeContainer:ro centos

在这里插入图片描述

3.2 DockerFile添加

  • 类比
# DockerFile含义
JavaEE Hello.java ---> Hello.class
Docker images ---> DockerFile

在这里插入图片描述

3.2.1 在DockerFile中使用VOLUME指令来给镜像添加一个或多个数据卷

在这里插入图片描述

3.2.2 File构建

vim DockerFile

#######DockerFile#######

# volume test
FROM centos
VOLUME ["/dataVolumeContainer1", "/dataVolumeContainer2"]
CMD echo "finished, ------------success1"
CMD /bin/bash

3.2.3 build后生成镜像

docker build -f /mydocker/dockerfile2 -t mycentos .

在这里插入图片描述

3.2.4 run容器

docker run -it 容器ID

可以看到已经有了两个新的目录
在这里插入图片描述

3.2.5 查看宿主机对应的目录

docker inspect 容器ID

在这里插入图片描述

  • 注意:新的docker版本,对应的目录可能会有所变化

3.3 备注

在这里插入图片描述

docker run -it -v /myDataVolume:/dataVolumeContainer --privileged=true 镜像名

4 数据卷容器(容器之间传递数据)

在这里插入图片描述

4.1 先启动一个父容器

在这里插入图片描述
然后在其中的一个目录下新增内容

4.2 启动两个子容器继承父容器

  • 有点像redis中的主从复制
    在这里插入图片描述

4.3 删除父容器后,子容器仍然能相互共享

参考资料

1.尚硅谷Docker快速入门基础篇-周阳主讲

标签:容器,宿主机,目录,3.2,3.1,Docker,数据,docker
来源: https://blog.csdn.net/Awt_FuDongLai/article/details/120254444

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有