Dockerfile常用指令讲解

Dockerfile介绍

镜像的定制实际上就是定制每一层所添加的配置、文件,可以把每一层修改、安装、构建、操作都写入一个脚本, 这个脚本就是Dockerfile, Dockerfile是由一系列命令和参数构成的脚本,一个Dockerfile里面包含了构建整个image的完整命令。Docker通过docker build从上到下的顺序运行Dockerfile中的一系列命令自动构建image

一般包括:

基础镜像信息(FROM image)

维护者信息(MAINTAINER xxxx)

镜像操作指令(COPY, ADD, RUN, ENV等)

容器启动时执行指令(CMD, ENTRYPOINT)

Dockerfile中的指令及说明
分类 指令 说明
配置指令 ARG 定义创建镜像过程中使用的变量
FROM 指定所创建镜像的基础镜像
LABEL 为生成的镜像添加元数据标签信息
EXPOST 声明镜像内服务监听的端口
ENV 指定环境变量
ENTRYPOINT 指定镜像的默认入口命令
VOLUME 创建一个数据卷挂载点
USER 指定运行容器时的用户名或UID
WORKDIR 配置工作目录
ONBUILD 创建子镜像时指定自动执行的操作指令
STOPSIGNAL 指定退出的信号值
HEALTHCHECK 配置所启动容器如何进行健康检查
SHELL 指定默认的shell类型
操作指令 RUN 运行指定命令
CMD 启动容器时指定默认指定的命令
ADD 添加内容到镜像
COPY 复制内容到镜像

ARG

定义创建镜像过程中使用的变量

语法格式

示例

备注

ARG <name>[=<default value>]

ARG image

FROM $image

docker build时,可以通过-build-arg[=]来为变量赋值,当镜像编译成功后,ARG指定的变量将不在存在(ENV指定的变量将在镜像中保留)

如: 创建dockerfile文件,内容如下

ARG image 
FROM $image
RUN echo "helloworld"
CMD ["echo", "date"]

执行命令docker build --build-arg image=centos:7 --no-cache

LABEL

为生成的镜像添加元数据标签信息,这些信息可以辅助过滤出特定镜像

语法格式

示例

备注

LABEL <key>=<value>

LABEL name=test

一次设置一个

LABEL <key>=<value> <keys1>=<value1>...

LABEL name=test age=10

一次设置多个

USER

指定运行容器时的用户名或UID,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值