Dockerfile常用指令及使用

1. dockerfile介绍

2. Dockerfile常用指令

指令 描述
FROM 构建新镜像是基于哪个镜像
MAINTAINER 进行维护者姓名或邮箱地址
RUN 构建镜像时运行的shell命令
ENV 设置环境变量
USER 为RUN、CMD和ENTRYPOINT执行命令指定运行用户
EXPOSE 声明容器运行的服务端口
HEALTHCHECK 容器中服务器健康检查
WORKDIR 为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录
ENTRYPOINT 运行容器时执行,如果有多个CMD指令,最后一个生效
CMD 运行容器时执行,如果有多个CMD指令,最后一个生效
ADD 添加文件包或文件,带有解压的功能
COPY 单纯复制文件,或文件夹
LABEL 标签

2.1 FROM指令

  • 基本语法

    FROM <image>
    FROM <image>:<tag>
  • 使用案例

    # base image
    FROM centos

2.2 MAINTAINER指令

  • 基本语法

    MAINTAINER <name>
  • 使用案例

    # MAINTAINER
    MAINTAINER shichao@scajy.cn

2.3 run指令

  • 基本语法

    run  <要执行的命令>
    run <command> (shell模式)
    run [ "executable", "param1", "param2" ] (exec模式)
  • 使用案例

    run <command>  (shell模式)
    /bin/sh -c command
    CMD /bin/sh -c 'nginx -g "daemon off;"'
    run [ "executable", "param1", "param2" ] (exec模式)
    run ["/bin/bash" , "-c", "nginx -g daemon off" ]

2.4 expose指令

  • 基本语法

    expose <prot> [<port>...]
  • 使用案例

    EXPOSE 80

2.5 cmd命令

  • 基本语法

    cmd [ "executable" , "param1" , "param2"  ] (exec模式)
    cmd command param1 param2 (shell模式)
  • 使用案例

    CMD /bin/sh -c 'nginx -g "daemon off;"'

2.6 entrypoint指令

  • 基本语法

    cmd [ "executable" , "param1" , "param2"  ] (exec模式)
    cmd command param1 param2 (shell模式)
  • 使用案例

    ENTRYPOINT ["nginx"]

2.7 ADD指令

  • 基本语法

    ADD <"src"> ...<dest>
    ADD["<src>"..."<dest>"] (适用于文件路径中有空格的情况) COPY <src>...<dest>
    COPY [ "<src>"..."<dest>" ] (适用于文件路径中有空格的情况)
  • 使用案例

    ADD nginx-1.12.2.tar.gz /usr/local/src
    
    COPY index.html /usr/local/nginx/html/
    
    #执行结果
    [root@1-230 nginx]# curl 192.168.0.230:8082
    ni hao yello

2.8 VOLUME指令

  • 基本语法

    volume ["/data"]

2.9 workdir指令

  • 基本语法

    WORKDIR /path/to/workdir
  • 使用案例

    # change dir to /usr/local/src/nginx-1.12.2
    WORKDIR /usr/local/src/nginx-1.12.2

2.10 user指令

  • 基本语法

    USER NGINX
    USER user USER uid
    USER user:group USER uid:gid
    USER user:gid user uid:group

2.11 ONBUILD指令

  • 基本语法

    ONBUILD [INSTRUCTION]

3. 构建镜像

  • docker build镜像

    	Usege:docker  build [OPTIONS]  PATH |  URL  | - [flags]
    OPTIONS:
    -t:--tag list #镜像名称
    -f:--flie string #指定dockerfile文件位置 案例:
    docker build .
    docker build -t test/v1 .
    docker build -t test/v1 -f /path/Dockerfile
    docker build -t test/v1 http://xxxx.example.com/Dockerfile

Dockerfile常用指令及使用的更多相关文章

  1. 第 3 章 镜像 - 016 - Dockerfile 常用指令

    Dockerfile 常用指令 1.FROM 指定base镜像2.MAINTAINER 设置镜像的作者,可以为任意字符串3.COPY 从build context 复制到镜像 COPY 支持两种形式: ...

  2. Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)

    是时候系统学习 Dockerfile 了.下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档. FROM指定 base 镜像. MAINTAINER设置镜像的作者,可以是任 ...

  3. Dockerfile 常用指令

    下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档. FROM指定 base 镜像. MAINTAINER设置镜像的作者,可以是任意字符串. COPY将文件从 build ...

  4. 转 Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)

    是时候系统学习 Dockerfile 了. 下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档. FROM指定 base 镜像. MAINTAINER设置镜像的作者,可以是 ...

  5. Dockerfile常用指令说明

    具体解释:https://blog.csdn.net/achenyuan/article/details/80231922 将dockerfile文件和生成好的jar 使用ftp工具上传到linux服 ...

  6. Dockerfile常用指令

    FROM 构建的新镜像基于那个镜像 , FROM ubuntu:14 MAINTAINER 镜像维护者姓名或邮箱地址 RUN CMD EXPOSE  声明容器运行服务的端口 ENV ADD  拷贝文件 ...

  7. Docker学习笔记_Dockerfile常用指令

    Dockerfile常用指令

  8. Docker的使用初探(一):常用指令说明

    目录 Docker的使用初探(一):常用指令说明 为什么要用Docker Docker的安装与简单使用 国内镜像加速 常用指令 Docker的使用初探(一):常用指令说明 前几个星期实践的了,再不记录 ...

  9. Docker Compose 配置文件常用指令

    Docker Compose 配置文件常用指令 YAML文件格式及编写注意事项 YAML是一种标记语言很直观的数据序列化格式,可读性高.类似于XML数据描述语言,语法比XML简单的很多. YAML数据 ...

随机推荐

  1. termux 进阶

    直接正题. 1.优化键位: mkdir $HOME/.termux echo "extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'], ...

  2. Redis数据类型读写语法

    ---字符类型的用法(语法大小写不做限制)1.创建string字符串写:SET 列名 "键值"读:get 列名特性:可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存 ...

  3. 跟着尚硅谷系统学习Docker-【day06】

    day06-20200720 p24.dockerfile案例编写-1   1.创建好容器时,进去容器的时候,修改所在的当前目录. 2.新添加命令.支持vim.ifconfig 备注:原来的镜像容器默 ...

  4. 20190923-08Linux压缩和解压类 000 016

    gzip/gunzip 压缩 1.基本语法 gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip 文件.gz (功能描述:解压缩文件命令) 2.经验技巧 (1)只能压缩文 ...

  5. jenkins参数传递

    官方说明:https://wiki.jenkins.io/display/JENKINS/Parameterized+Build 1.添加参数传递 参数类型解析: 2.在 Execute shell ...

  6. Combine 框架,从0到1 —— 4.在 Combine 中使用计时器

    本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用计时器. 内容概览 前言 使用计时器执行周期性的工作 将计时器转换为计时 ...

  7. Solr专题(二)详解Solr查询参数

    一.前言 上节我们讲到了怎样去搭建solr服务,作为全文检索引擎,怎样去使用也是比较关键的.Solr有一套自己的查询方式,所以我们需要另外花时间去学习它的这套模式. 启动solr solr start ...

  8. 《Java从入门到失业》第四章:类和对象(4.1):初识类和对象

    4类和对象 在第一章曾经简单介绍过,在面向对象的世界里,一切事物皆对象,当解决一个问题的时候,我们先会考虑这个问题会涉及到哪些事物,然后把事物抽象成类,当时还画了一张图如下: 从本章开始,我们一点一点 ...

  9. 渣渣的Leetcode之旅(Python3)_1.两数之和

    题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍 ...

  10. linux下ftp如何使用

    linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...