docker容器数据卷
作用:容器之间可以交互数据。docker容器产生的数据,如果不通过docker commit成为新的镜像,使得数据作为镜像的一部分保存下来,那 么当容器删除后,数据自然也就没有了。为了保存数据,在docker中使用卷。
概念:卷就是目录或者文件,存在于一个或多个容器中,由docker挂载到容器,但是不属于联合文件系统,因此能够绕过Union File System 提供一些用于持续储存或共享数据的特性。
容器内添加数据卷:
1.直接命令添加
docker run -it -v /宿主机绝对路径:/容器内目录 镜像名
只读保护数据
docker run -it -v /宿主机绝对路径:/容器内目录:ro 镜像名 -
2. DockerFile添加
*根目录下新建mydocker文件夹并进入
*在Dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷
*File构建
touch dockerfile
#volume test
FROM centos
VOLUME ["/dataVolumeContainer1", "/dataVolumeContainer2"]
CMD echo "finished, ------------------------success1"
CMD /bin/bash
*build后生成镜像 注意后面那个点
sudo docker build -f /home/woodx/mydocker/dockerfile -t woodx/centos .
*run容器
开润!然后用sudo docker inspect 容器id 找到在host的挂载点
*通过上述步骤,容器内的卷目录地址已经知道对应的主机目录在哪里
*主机默认地址
3.备注
docker容器数据共享
docker rn -it --name 新容器名 --volumes-from 旧容器名 镜像名