Dockerfile详解

本文详细介绍了Dockerfile的基础概念,包括FROM、MAINTAINER等关键指令的用法,提供了CentOS7.9安装Redis的示例,并分享了Dockerfile编写和优化的最佳实践,帮助读者更好地理解和使用Docker镜像构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Dockerfile介绍

Dockerfile是一个包含创建镜像所有命令的文本文件,通过docker build命令可以根据Dockerfile的内容构建镜像。
一般的,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,其中,‘#’为Dockerfile中的注释。

二、常用指令

  1. FROM

所有Dockerfile都必须以FROM命令开始。FROM命令会指定镜像基于哪个基础镜像创建,接下来的命令也会基于这个基础镜像。FROM命令可以多次使用,表示创建多个镜像。

FROM <image>:<tag>
如果本地没有指定的镜像,则会从对应的镜像仓库pull镜像下来,不指定具体镜像仓库,则会从docker hub公共仓库拉取。

如果没有指定标签tag,则默认使用latest标签。

  1. MAINTAINER

设置该镜像的作者。

MAINTAINER <author name>
  1. ENV

设置环境变量,使用键值对,并且该环境变量可以被后续的Dockerfile命令使用

ENV <key>:<value> #设置一个变量
ENV <key1>:<value1> \ #设置多个变量,可以通过"\"换行
    <key2>:<value2>
  1. ARG

设置构建环境的环境变量,只在构建容器时生效,在将来容器运行时是不会存在这些环境变量的且在构建时可以使用--build-arg=来指定参数。具体用法如下:

ARG <key>=<value>
不要因此就是用ARG保存密码之类的信息,因为docker history可以看到所有的值。
  1. WORKDIR

设置后续Dockerfile命令,像RUN、CMD、ENTRYPOINT、COPY、ADD的工作目录,如果WORKDIR不存在,会自动创建。

WORKDIR /path/workdir
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    real向往

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值