dockerfile指令汇总
2018-07-02 15:58
597 查看
dockerfile指令汇总
1.cmd 指定一个容器启动时可用的指令或指令和参数。 cmd ["/bin/true"] cmd["/bin/bash","-l"] 注意:docker run会覆盖cmd命令;深刻理解cmd和entrypoint之间的相互作用也是十分重要的;容器里只能指定一条cmd指令,如果需要启动容器的时候运行多个进程或者命令,考虑使用supervisor服务管理工具。 2.entrypoint docker run执行的指令不会覆盖,且docker run命令行中的参数会被当做参数再次传递给entrypoint指令。 ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"] CMD ["-H"] 注意:docker run --entrypoint标志覆盖ENTRYPONIT指令 3.WORKDIR 从镜像中创建一个容器,在容器内部设置一个工作目录,ENTRYPOINT,CMD指令会在这个目录下执行。 WORKDIR /opt/apps/db RUN bundle install 注意:可以使用 docker run -w /workdir 覆盖工作目录 4.ENV 用来在构建过程中设置环境变量 ENV RVM_PATH /home/rvm/ ENV TARGET_DIR /opt/app WORDIR $TARGET_DIR docker -e 标志可以传递环境变量,这些变量将只会在运行时有效 5.user 指定启动容器的用户,uid,user或者和gid,group组合。 docker run -u可以覆盖改指令 6.VOLUME 向容器添加卷。一个卷可以存在一个或者多个容器内的特定目录中。 卷的特点: 卷可以在容器之间共享和重用 一个容器可以自私地占用某个卷 卷的修改是即时生效 对卷的修改不会对更新镜像产生影响 卷会一直存在直到没有容器使用它 VOLUME ["/opt/project","/data"] 提示:docker cp是和volume指令相关并且也是很实用的命令。该命令可以从容器中复制文件,也可以复制文件到容器上。 7.add add指令用来将构建环境下的文件和目录复制到镜像中。 ADD software.lic /opt/application/software.lib 将构建目录下的software.lic文件复制到容器/opt/application/software.lic 构建的源文件可以是url或者是构建上下文或环境中文名或者目录 目的地址以"/"字符来判断文件源是目录还是文件 ADD latest.tar.gz /var/www/wordprss/ 如果源端存在压缩文件,会自动压缩到目的端 注意:ADD指令会使得构建缓存变得无效。 8.COPY COPY只关心构建上下文中复制本地文件,而不去做提取和解压工作。 本地文件都放到与Dockerfile同一个目录下,不能放在改目录的之外的仁和目录。 目标目录必须是绝对路径 COPY conf.d/ /etc/apache2/ 在这个例子中源文件是以"/"结尾,所以docker会认为它是目录,并将它复制到目的目录中。,如果目的目录不存在,docker会创建所需要的目录结构。 9.LABEL label指令用于为docker镜像添加元数据。元数据一键值对的形式展现。 LABEL version="1.0" LABEL location="Los Angeles" type="Date Center" role="Web Server" 10.STOPSIGNAL stopsignal指令用来设置停止容器时发送什么系统调用信号给容器。这个信号必须是内核系统调用表中合法的值。 11.ARG arg指令用来docker build命令运行时传递参数,我们只需要在构建时使用--build-arg标志即可。但是有个前提条件,用户在构建过程中只能使用在dockerfile定义过的参数。 ARG build ARG webapp_user=nginx docker build --build-arg build=1234 huwho/webapp 12.ONBUILD onbuild指令能为镜像添加触发器。当一个镜像被用作其他镜像的基础镜像时(比如用户镜像需要从某未准备好的位置添加源代码,或者用户需要执行特定于构建镜像的环境的构建脚本),改镜像中的触发器将会被执行。 触发器会在构建过程中添加指令。 ONBUILD ADD . /app/src ONBUILD RUN cd /app/src && make
相关文章推荐
- Dockerfile指令汇总及解析
- Dockerfile指令总结
- Dockerfile 指令和结构
- docker学习笔记12:Dockerfile 指令 ENTRYPOINT介绍
- Dockerfile指令总结
- Dockerfile指令详解
- Dockerfile指令详解上
- Dockerfile 指令 ADD 和 COPY介绍
- Dockerfile指令总结
- dockerfile的指令
- Dockerfile文件中的CMD和ENTRYPOINT指令差异对比
- Dockerfile中的ARG指令详解
- Dockerfile 第5关:ONBUILD和VOLUME指令
- Dockerfile中的ENTRYPOINT和CMD指令详解与比较
- 使用Dockerfile创建镜像各常用指令说明 - 知识林
- Docker Dockerfile指令
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
- Dockerfile指令
- Docker的基本命令和Dockerfile的指令
- Dockerfile 指令详解