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
想到了爱死机中这三个有趣的机器人!