volume

docker容器产生的数据,不添加commit生成新镜像,删除容器也会删除数据。
作用:数据共享(继承)、数据长存。
在这里插入图片描述

创建

$ docker run -it -v 宿主目录:容器目录 镜像

创建yma16_volumetest的宿主目录和yma16_container的容器目录
的centos镜像
在这里插入图片描述
在这里插入图片描述

inspect查看数据卷(以json格式查看)

$ docker inspect 容器id

查看刚刚创建centos的状态
在这里插入图片描述

可编辑同步数据卷

容器开启状态

host创建文件
宿主创建host.txt

$ touch host.txt

在这里插入图片描述
容器编辑文件
centos容器编辑host.txt文件
在这里插入图片描述
在宿主查看host.txt,已被修改
在这里插入图片描述
容器创建文件
container创建container.txt

$ touch container.txt

已同步
在这里插入图片描述

容器关闭再打开

退出容器

$ exit

在这里插入图片描述
在宿主的数据卷添加文件
在容器关闭状态下添加文件
在这里插入图片描述
重启容器查看文件是否同步
查看刚刚关闭的容器再次打开

$ docker ps -l  
$ docker start container_id
$ docker attach container_id

发现文件file_closed.txt已经同步
在这里插入图片描述

只读数据卷

权限限制只读ro

$ docker run -it -v 宿主目录:容器目录:ro 镜像

创建一个只读的volume,容器下数据卷仅能读文件不能写文件
在这里插入图片描述

Dockerfile创建volume

创建Dockerfile
$ mkdir /my_dockerfile
$ cd my_dockerfile/
$ vim Dockerfile

在这里插入图片描述

编写volume

在这里插入图片描述

运行

注意:命令后边有个小点

$ docker build -f 绝对路径 -a 镜像 .

在这里插入图片描述

进入镜像查看
$ docker images test/centos
$ docekr run -it test/centos

在这里插入图片描述

查看host目录(makefile未指定)
$ docker ps
$ docker inspect id

在这里插入图片描述
找到volume
在这里插入图片描述
giao没有默认生成目录???
在这里插入图片描述

在host可以找到
在这里插入图片描述

end

想到了爱死机中这三个有趣的机器人!
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐