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. 数据库系统第一章【绪论】(B站视频)

    目录 数据库系统第一章[绪论](B站视频) 一.绪论 数据库的四大基本概念 数据 数据库 数据库管理系统 主要功能 数据库系统 数据管理 我的理解 数据系统的特点 数据结构化 数据系统的共享性 数据独 ...

  2. 用Nginx将web请求引导到本机两个tomcat

    如何在本机启动两个tomcat请参考:https://www.cnblogs.com/xiandedanteng/p/12100461.html 而Nginx这边,将\conf\nginx.conf ...

  3. 推荐掌握Linux shell中这7种运算命令

    #常见的算术运算符号 .+.-:加减 .*./.%:乘.除.取余 .**:幂运算 .++.--:增加记减少 .!.&&.||:取反,并且,或 .<,<=,>,=> ...

  4. meta生成器 —— 表单元素组件

    手写代码? meta(json)需要手写吗?别闹,手写多麻烦呀,我这么懒怎么可能手写,这辈子都别想,所以要弄个工具出来,咱们说干就干. 这个工具,说白了本身就是一个表单,一个meta属性对应一个met ...

  5. Javaweb应用中配置错误跳转页面

    关于在Javaweb应用中配置错误跳转页面 应用场景,比如服务器的出现404错误,我们想让它返回跳转到我们自定义的错误页面 解决方法: 主要在web.xml文件中进行配置,这里玩的错误页面都单独放在e ...

  6. 吴恩达《深度学习》-课后测验-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究))

    Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究)) 1.Problem Statement ...

  7. Fiddler的安装和APP抓包

    前言 1.Fiddler安装包 2.安卓手机 3.iOS手机 1.下载fiddler软件:可以去官网下载https://www.telerik.com/fiddler,可以下载最新版 2.百度云盘(非 ...

  8. Python实现GUI开发 PySide2&PyQt环境配置

    更新于2020-09-15 - 18:50:37 [前言] 关于Python开发GUI图形界面程序的问题,大概是19年十分困扰我,主要是没有经验以及缺乏高效简洁的视频或教学文档,导致在19年中秋前后花 ...

  9. tagCould3d 移动端优化版

    针对https://github.com/bitjjj/JS-3D-TagCloud这个版本的做了移动端性能优化(使用transform做偏移及缩放,优化帧).基本原理一致. class TagCou ...

  10. 2.Kafka-架构