Dockerfile构建

一.什么是 Dockerfile

  • Dockerfile 是用来构建 Docker 镜像的构建文件, 是由一系列的命令和参数构成的脚本
  • 通过指令的方式构建镜像

二.构建Dockerfile步骤

  • 编写 Dockerfile 文件
  • docker built 构建镜像
  • docker run 创建容器

三.Dockfile 文件的注意事项

  • 每条保留字指令都必须是大写字母, 并且后面要跟随至少一个参数
  • 指令按照从上到下的顺序执行
  • 每条指令可用 # 添加注释
  • 每条指令都会创建一个新镜像层, 并对镜像进行提交

四.Dockerfile 的保留字指令

🍉主要保留字指令:
1. FROM
2. RUN
3. ADD
4. COPY
5. WORKDIR
6. CMD
🍉一般用以上保留字指令就可以完成容器想要的功能

1.FROM

  • 基础(依赖)镜像, 就是当前要创建的镜像是基于那个镜像
🍉格式:
FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>
🔰示例:" FROM mysql:5.6"

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

2.MAINTAINER

  • 镜像维护者的姓名和邮箱
🍉格式:
MAINTAINER <name>
🔰示例:
MAINTAINER Jasper Xu
MAINTAINER sorex@163.com
MAINTAINER Jasper Xu <sorex@163.com>

3.RUN

  • 容器构建时需要运行的命令
🍉shell执行格式:
RUN <command>
🔰示例:
RUN yum install python3 -y

🍉exec 执行格式:
RUN ["executable", "param1", "param2"]
🔰示例:
RUN ["executable", "param1", "param2"]
RUN ["/etc/execfile", "arg1", "arg1"]

🔰注:RUN 指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定"--no-cache" 参数,如:docker --no-cache

4.EXPOSE

  • 当前容器对外暴露出的端口
🍉格式:
EXPOSE <port> [<port>...]
🔰示例:
EXPOSE 80 443
EXPOSE 8080
EXPOSE 11211/tcp 11211/udp

🔰注:"EXPOSE" 并不会让容器的端口访问到主机。要使其可访问,需要在" docker run" 运行容器时通过"-p" 来发布这些端口,或通过"-P" 参数来发布" EXPOSE" 导出的所有端口

5.WORKDIR

  • 指定创建容器后, 终端默认处在的工作目录, 也就是落脚点
🍉格式:
WORKDIR /path/to/workdir
🔰示例:
WORKDIR /a (这时工作目录为/a)
WORKDIR b (这时工作目录为/a/b)
WORKDIR c (这时工作目录为/a/b/c)

🔰注:通过 "WORKDIR" 设置工作目录后,"Dockerfile" 中其后的命令 RUN、CMD、ENTRYPOINT、ADD、COPY等命令都会在该目录下执行。在使用 "docker run" 运行容器时,可以通过"-w" 参数覆盖构建时所设置的工作目录

6.ENV

  • 用来在构建镜像过程中设置环境变量
🍉格式:
ENV <key> <value> 
#<key>之后的所有内容均会被视为其<value>的组成部分,因此,一次只能设置一个变量
ENV <key>=<value> ... 
#可以设置多个变量,每个变量为一个"<key>=<value>"的键值对,如果<key>中包含空格,可以使用\来进行转义,也可以通过""来进行标示;另外,反斜线也可以用于续行
🔰示例:
ENV myName John Doe
ENV myDog Rex The Dog
ENV myCat=fluffy

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

给你骨质唱疏松

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

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

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

打赏作者

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

抵扣说明:

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

余额充值