赞
踩
【0.Docker相关目录文章整理,可自行查看,包含多节内容】
【1.Docker详细安装部署&阿里镜像地址配置】
【2.Docker架构&&架构角色概念&&角色作用】
【3.Docker命令详细讲解&实操演示】
【4.Docker镜像文件&加载原理&生产中重新制作并提交镜像文件&案例演示】
数据卷可在容器之间共享或重用数据
卷中的更改可以直接生效
数据卷中的更改不会包含在镜像的更新中
数据卷的生命周期一直持续到没有容器使用它为止
持久化,容器间继承和共享数据
docker run -it -v /宿主机绝对路径:/容器内目录 镜像名
命名的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据的容器,称之为数据卷容器。
# 先创建一个父容器
docker run -it --name tomcat_parent tomcat
# 再创建俩个子容器,将其挂载在父容器下面
docker run -it --name tomcat_node1 --volumes-from tomcat_parent tomcat
docker run -it --name tomcat_node2 --volumes-from tomcat_parent tomcat
创建了两个子容器后,首先都可以看到tomcat_parent 中的共享资源。在tomcat_node1中或者tomcat_node1中修改了共享资源文件后,它的两个容器中也是可见的。因为它们都指向了宿主机下最终的挂载目录,一个变,就修改了根资源,其它的节点都可以更新拿到最新的数据。
DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
#
表示注释Dockerfile文件中命令 | Dockerfile文件中关于命令的解释说明 |
---|---|
FROM | 基础镜像,当前新镜像是基于哪个镜像的,有继承的意味 |
MAINTAINER | 镜像维护者的姓名和邮箱地址 |
RUN | 容器构建时需要运行的命令 |
EXPOSE | 当前容器对外暴露的端口 |
WORKDIR | 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点 |
ENV | 用来在构建镜像过程中设置环境变量 |
ADD | 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包 |
COPY | 类似ADD,拷贝文件和目录到镜像中。 将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置 COPY src dest COPY [“src”,“dest”] |
VOLUME | 容器数据卷,用于数据保存和持久化工作 |
CMD | 指定一个容器启动时要运行的命令 Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换 |
ENTRYPOINT | 指定一个容器启动时要运行的命令 ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及参数 |
ONBUILD | 当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发 |
好了,本篇文章【Docker数据卷&数据卷容器&DockerFile执行流程】就学习这么多,下篇文章继续学习基于DockerFile文件制作镜像的相关操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。