赞
踩
学习笔记
学会了搭建Docker私有镜像仓库后了解容器卷相关内容
卷就是目录或文件,存在于一个或者多个容器中, 由docker挂载到容器,但不属于联合文件系统,因此能绕过Union File System提供一些用于持续存储或共享数据的特性。卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。
作用:
映射,容器内的数据备份+持久化到本地主机目录。
特别注意 :加入 - - privileged=true
#用于提供容器中的进程对主机系统的完全访问权限
公式:docker run -it -v /宿主机目录:/容器内目录 镜像名
docker run -it --name myu3 --privileged=true -v /tmp/myHostData:/tmp/myDockerData ubuntu /bin/bash
cd /tmp/myDockerData/ //进入容器内目录
touch dockerin.txt //在容器内目录新建一个文档
cd /tmp/myHostData/ //进入宿主机目录
ls //查看目录
touch hostin.txt //在主机目录创建一个文档
//返回容器内目录 ls -l 查看
提示:其中输入的目录会自动创建,且ubuntu后不写/bin/bash时会默认shell不影响</font>
docker inspect 289c742ccb90
思考:如果docker容器stop,主机修改,docker重启后数据是否同步?
docker stop 289c742ccb90
touch c.txt //在主机目录中创建
docker start 289c742ccb90
docker exec -it 289c742ccb90 /bin/bash
cd /tmp/myDockerData/
ls -l
//结果发现与宿主机目录内容相同,存在- c.txt -文件
显然数据仍然是同步的 ^ _ ^
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名
rw = read + write
*不单独说明时默认为 rw
docker run -it --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu
docker run -it --privileged=true -volumes from u1 --name u2 ubuntu
// u2 继承了u1 的内容
在容器2中更改内容在宿主机和容器1中均会同步,实现数据的共享传递。
中途删除容器1,在容器2中更改添加内容依旧同步在宿主机,恢复容器1,数据也会同步。
容器卷是一种非常有用的工具,可以帮助开发人员更好地管理容器中的数据,并提高容器的性能和安全性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。