前言
Docker提供了一个持久化存储数据的机制,与容器生命周期分离,从而带来一系列好处:
总的来说Docker 数据卷提供了一种灵活、持久、可共享的存储机制,使得容器化应用在数据管理方面更加强大和可控。
一、数据卷
- docker数据卷与容器的关系图
- 图解数据卷与数据卷容器的区别
- 数据卷 宿主机与容器共享目录
docker run -di --name c2 -v /home/javaxl/data/:/home/javazzs/data/ centos:7
此时里面是没有文件的
进入到刚创建的容器
假设当前目录是属于Tomcat日志目录,现在我产生日志了
CTRL+PQ退出
这就是数组机与容器共享目录
- 容器与容器共享目录
我创建c4和c6容器
docker run -di -v /home/javazzs/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7
然后在c4创建一个文件
然后看看c6容器能不能看到c4写的
可以看到是有的,那么就证明了容器与容器之间可以共享目录
二、自定义镜像
docker ps
可以看到有这么多容器
进入到c6容器
docker exec -it c6 /bin/bash/
使用ifconfig是看不到地址的
为什么没有这个命令呢?是因为外部去启动这个容器的时候,是依靠centos7镜像启动的容器。就是说官网上的镜像没有这个指令
去下载他
yum install -y ifconfig
用不了的话,我们自己去做一个有ifconfig的命令
编辑Dockerfile文件(自定义的相对于网上的多了个ifconfig命令)
vi mycentosDockerfile
向 mycentosDockerfile 编辑内容
FROM centos:7 我以官方的哪个镜像上做改动
MAINTAINER zzs "zzs@qq.com"
RUN yum -y install vim
RUN yum install net-tools.x86_64 -y 加一个网络工具
CMD /bin/bash
可以看到是有的
cat mycentosDockerfile
通过Dockerflie构建镜像
docker build -f mycentosDockerfile -t javazzs/centos:v1.0 .