目录
一、数据卷
二、数据卷容器
三、容器互联
管理 Docker容器中数据主要有两种方式:
- 数据卷(Data Volumes)
- 数据卷容器(DataVolumes Containers)
一、数据卷
数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,实现数据在宿主机与容器之间的迁移。
数据卷的使用类似于Linux 下对目录进行的 mount 操作。
-v 宿主机目录或文件:容器目录或文件 #代表将宿主机目录或文件挂载到容器目录或文件(必须都使用绝对路径,如果不存在,会自动创建)
注:数据卷可用于宿主机和容器间挂载,可以是文件或目录,也可以挂载在多个容器。
二、数据卷容器
如果需要在容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。
-v 数据卷 #在创建容器时指定数据卷(目录名)可以指定多个
--volumes-from #指定数据卷容器
补:不论是数据卷还是数据卷容器,都可以在指定容器目录时加上 :ro 代表只读。即容器只能读挂载目录的内容,不能修改。
只读数据卷
只读数据卷容器
三、容器互联
容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。
创建运行源容器os1
创建运行容器os2,使用 --link 指定源容器实现容器互联
--link 源容器名:连接别名 #连接别名可以和容器名一致,也可以不指定
在创建连接的容器汇总ping(源容器名或连接别名都可以)测试连接
注:只有指定源容器的容器可以单向的ping通源容器,单向的看到源容器的信息。