Docker_容器数据卷

思考:

1.Docker容器删除后,在容器中的数据还在吗?
2.Docker 容器和外部机器可以直接交换文件吗?
3.容器之间想要进行数据交互?


image.png

为了解决以上3个问题,数据卷应运而生。
数据卷作用:
容器数据持久化
外部机器和容器间接通信
容器之间数据交换

数据卷:

数据卷是宿主机中的一个目录或文件
当容器目录和数据卷目录绑定后,对方的修改会立即同步
一个数据卷可以被多个容器同时挂载
一个容器也可以被挂载多个数据卷

命令

创建容器时,使用 -v 参数,设置数据卷;
docker run ... -v 宿主机目录(文件):容器内目录(文件)...

docker run -it --name=c1 -v /root/data:/root/data_container centos:7 /bin/bash
注意事项:
1.目录必须是绝对路径
2.如果目录不存在,会自动创建
3.可以挂载多个数据卷

配置数据卷容器

多容器进行数据交换

  1. 多个容器挂载同一个数据卷
  2. 数据卷容器

命令

1.创建启动c3数据卷容器,使用-v 参数 设置数据卷,/volume 指宿主机目录
docker run -it --name=c3 -v /volume centos:7 /bin/bash
2.创建启动c1 ,c2容器,使用 --volumes-from 参数,设置数据卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash

查看目录映射关系
docker inspect -f "{{.Mounts}}" nginx

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。