Docker基本命令与使用 —— Dockerfile指令与构建(三)
一.Dockerfile指令上
1.指令格式
# Comment 注释, 以#开头
INSTRUCTION argument 以大写的指令+参数
- From
- MAINTAINER
- RUN
- EXPOSE
FROM指令
- 已经存在的镜像
- 基础镜像
- 必须是第一条非注释指令
MAINTAINER指令
RUN指令
- RUN<command> (shell模式)
- RUN ["executable", "param1", "param2" ] (exec模式)
EXPOSE指令
二.Dockerfile指令下
- CMD 在容器运行时运行的命令
- ENTERYPOINT
- ADD 设置镜像的目录和文件
- COPY
- VOLUME
- WORKDIR 镜像在构建及容器运行时的环境设置
- ENV
- USER
- ONBUILD 类似触发器的指令
CMD指令
- CMD [ "executable", "param1", "param2"] (exec模式)
- CMD command param1 param2 (shell模式)
- CMD [ "param1", "param2"] (作为ENTRYPOINT指令的默认参数)
ENTRYPOINT指令
- ENTRYPOINT [ "executable", "param1", "param2"] (exec模式)
- ENTRYPOINT command param1 param2 (shell模式)
ADD指令
- ADD <src>...<dest>
- ADD ["<src>"..."<dest>"] (适用于文件路径中有空格的情况)
COPY指令
- COPY <src>...<dest>
- COPY ["<src>"..."<dest>"] (适用于文件路径中有空格的情况)
VOLUME指令
- VOLUME ["/data"]
WORKDIR指令
- WORKDIR /path/to/workdir
ENV指令
- ENV <key> <value>
- ENV <key> <Value> ...
USER指令
- USER daemon
ONBUILD指令
- ONBUILD [INSTRUCTION]
三.Dockerfile构建过程
- 从基础镜像运行一个容器
- 执行一条指令,对容器做出修改
- 执行类似docker commit的操作,提交一个新的镜像层
- 再基于刚提交的镜像运行一个新容器
- 执行Dockerfile中的下一条指令,直至所有指令执行完毕
- docker build --no-cache
- Dockerfile 中的 ENV REFRESH_DATE 2015-04-01 之后变不再使用缓存
- docker history [image]
Docker基本命令与使用 —— Dockerfile指令与构建(三)的更多相关文章
- docker(8)Dockerfile指令介绍
前言 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. Dockerfile简介 Dockerfile是用来构建Docker镜像的构建文件,是由一系列 ...
- Docker容器学习梳理 - Dockerfile构建镜像
在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...
- Docker Dockerfile指令
Docker 可以通过 Dockerfile 的内容来自动构建镜像.Dockerfile 是一个包含创建镜像所有命令的文本文件,通过docker build命令可以根据 Dockerfile 的内容构 ...
- Dockerfile指令学习 (转)
原文地址:http://blog.csdn.net/we_shell/article/details/38445979 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一 ...
- Docker系列(22)- DockerFile指令说明并构建自己的centos
DockerFile常用指令 实战测试 DockerHub中99%镜像都是从这个基础镜像过来的FROM scratch,然后配置需要的软件和配置来进行构建 #创建一个自己的centos # 1.编写D ...
- docker学习笔记17:Dockerfile 指令 ONBUILD介绍
ONBUILD指令可以为镜像添加触发器.其参数是任意一个Dockerfile 指令. 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A ...
- docker之Dockerfile指令介绍
Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建 通过使用build命令,根据Dockerfiel的描述来构建镜像 通过源代码路径的方式 通过标准输入流的方 ...
- docker Dockerfile指令ADD和COPY的区别,添加目录方法
docker Dockerfile指令ADD和COPY的区别,添加目录方法 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录.以及一个URL标记的文件 拷贝到镜像中.其格式是: ADD 源 ...
- Docker学习笔记三 Dockerfile 指令 定制镜像
本文地址:https://www.cnblogs.com/veinyin/p/10412079.html 镜像是分层存储的,每一层都是独立存在的,修改当前层并不会修改其依赖的上一层,删除某一层也只是 ...
随机推荐
- scala try monad
当输入的数据格式不正确时,ActivityData 中会出现 OutofIndex 错误,但更多的时候我们只关心想要的结果而不想了解出现了怎样的错误,然后会写出这样的代码 def parseCSV ...
- NetBpm Q&A(7)
原文:NetBPM工作流的一个示例:请假审批 前言 在NetBPM的实践与应用中,大家一定会遇到各种各样的问题,笔者特建此帖, 聚集了一些典型问题,并作了初步解答.本帖将不断更新,大家有什么问题,可以 ...
- mysql操作类
同事今天推荐了一个mysql链接操作的类,地址 https://github.com/joshcam/PHP-MySQLi-Database-Class 大概看了一下,还是不错的,有点意思,先记录一 ...
- ios开发之--使用UILabel Category 计算UILabel内容大小
在此仅做记录,代码如下:
- nmap 中的idle scan
http://www.offensive-security.com/metasploit-unleashed/Port_Scanning http://blog.csdn.net/dong976209 ...
- SaltStack 批量执行脚本
这里演示如何使用 salt-master 对多台 salt-minion 批量执行脚本,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配 ...
- 使用 Beautiful Soup
Beautiful Soup 用法: (1) 前面我们爬取一个网页,都是使用正则表达式来提取想要的信息,但是这种方式比较复杂,一旦有一个地方写错,就匹配不出来了,因此我们可以使用 Beautiful ...
- spine-unity3D 学习笔记
http://zh.esotericsoftware.com/spine-using-runtimes //skeletonData SkeletonAnimation skeletonAnimati ...
- 普通for循环和增强for循环的区别
1.普通for循环:自行维护循环次数,循环体自行维护获取元素的方法: int[] array = new int[]{1,2,3,4,5}; //int[] array ={1,2,3,4,5} ; ...
- Myeclipse10使用git
用Myeclipse安装egit,使用官网最新地址或者下载最新的egit插件到本地安装均在team中看不到git,最后发现到http://download.eclipse.org/egit/updat ...