4.Docker数据管理和容器互联

文章目录

  • Docker数据管理
    • 数据卷(容器与宿主机之间数据共享)
    • 数据卷容器(容器与容器之间数据共享)
    • 容器互联

Docker数据管理

数据卷(容器与宿主机之间数据共享)

  • 数据卷是一个供容器使用的特殊目录,位于容器中。
  • 可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。
  • 数据卷的使用类似于Linux下对目录进行的mount操作。
docker run -itd --name test01 -v /opt/test01:/test01 centos:7

#宿主机目录/opt/test挂载到容器中的/test。
#注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。
#-v  :选项可以在容器内创建数据卷

4.Docker数据管理和容器互联_第1张图片
4.Docker数据管理和容器互联_第2张图片

docker run -itd --name test02 -v /opt/test01:/test02 centos:7

##通过数据卷实现容器与容器之间的数据共享
##/opt/test  :是test01容器数据卷挂载到宿主机的目录

4.Docker数据管理和容器互联_第3张图片

###默认情况下数据卷是可读可写的

docker run -itd --name test03 -v /opt/test02:/test03:ro centos:7

##实现挂载的数据卷的只读操作

4.Docker数据管理和容器互联_第4张图片

数据卷容器(容器与容器之间数据共享)

  • 有时时候,容器之间共享一些数据,最简单的方法就是使用数据卷容器。
  • 数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用
#创建数据卷容器test04。创建/data01和/data02两个数据卷。

docker run -itd --name test04 -v /data01 -v /data02 centos:7
 
##进入test04容器
docker exec -it test04 bash             
##使用--volumes-from 来挂载test04容器中的数据卷到新的容器test05


docker run -itd --volumes-from test04 --name test05 centos:7


docker exec -it test05 bash       
#进入test05容器

4.Docker数据管理和容器互联_第5张图片
4.Docker数据管理和容器互联_第6张图片
4.Docker数据管理和容器互联_第7张图片

容器互联

  • 容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。
  • 简单点说,就是会在源容器和接收容器之问建立一条隧道,接收容器可以看到源容器指定的信息。
##创建并运行源容器

docker run -itd --name test01 centos:7
##创建接收容器
##使用  --link  选项指定连接容器test01

docker run -itd --name test02 --link test01:ggl centos:7

--link  :目标容器名:连接别名(随意设置)
###进入容器测试

docker exec -it test02 bash

ping test01
ping ggl

4.Docker数据管理和容器互联_第8张图片

你可能感兴趣的:(11.Docker,docker,容器,运维)