Docker 入门篇(五)-- Dockerfile文件详解

一、Dockerfile 简介

Dockerfile是一个文本文件,其中包含了一系列指令和配置信息,用于自动化构建Docker镜像。通过Dockerfile,我们可以定义镜像的基础镜像、安装依赖、复制文件、设置环境变量等,从而生成符合我们应用需求的Docker镜像。
在这里插入图片描述

二、Dockerfile 的基本结构

Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。

  • 基础镜像信息。使用FROM关键字指定基础镜像,这是构建过程的起点。
  • 维护者信息。通过MAINTAINER关键字添加,通常包括创建者的名字或邮箱。
  • 镜像操作指令。这些指令包括但不限于RUN、COPY、ADD、WORKDIR、CMD、ENTRYPOINT、EXPOSE、ENV等,用于在镜像中执行命令、复制文件或目录、设置工作目录、提供容器启动时的默认命令、定义容器启动时的命令、暴露容器端口、设置环境变量等。
  • 容器启动时执行的指令。使用CMD和ENTRYPOINT指定容器启动时要运行的命令。

三、Dockerfile 文件说明

  1. 基础知识
  • Docker以从上到下的顺序运行Dockerfile的指令。
  • 为了指定基本映像,第一条指令必须是FROM。
  • 一个声明以#字符开头则被视为注释。
  • 可以在Docker文件中使用RUN,CMD,FROM,EXPOSE,ENV等指令。
  1. Docker执行DockerFile的大致流程
  • Docker从基础镜像运行一个容器
  • 执行一条指令并且对于容器做出修改
  • 执行类似docker commit的操作提交一个新的镜像层
  • Docker再基于刚提交的镜像运行一个新的容器
  • 执行DockeFile 中的下一条指令直到所有指令都执行完成

四、Dockerfile 常用的指令。

1. FROM:指定基础镜像,必须为第一个命令

  • 格式:
   FROM <image>

  FROM <image>:<tag>

  FROM <image>@<digest>
  • 示例:
FROM mysql:5.6
  • 注:

tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像

2. MAINTAINER: 维护者信息

3. RUN用于在镜像容器中执行命令,其有以下两种命令执行方式:

  • shell执行格式:
RUN <command>
  • exec执行格式:
RUN ["executable", "param1", "param2"]
  • 示例:
RUN ["executable", "param1", "param2"]

RUN apk update

RUN ["/etc/execfile", "arg1", "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值