Dockerfile Docker build 构建命令

  Docker应用中,起初肯定是使用已有镜像,来完成容器的应用。随着应用的深入,不可避免的,就会出现个性化的需求,这时,就需要构建属于我们自己的镜像。

  Docker提供了docker build命令,用于使用Dockerfile创建镜像。

  语法

docker build [OPTIONS] PATH | URL | -

  语义

  使用Dockerfile创建镜像,可以自定义镜像构建过程。

  参数

参数名参数描述
–add-host增加自定义HOST到IP的映射
–build-arg设置构建时参数
–cache-from作为缓存源的镜像
–cgroup-parent可选的容器的父cgroup
–compress使用gzip压缩构建上下文
–cpu-period限制CPU CFS(完全公平调度程序)周期
–cpu-quota限制CPU CFS(完全公平调度程序)配额
–cpu-shares , -cCPU份额(相对权重)
–cpuset-cpus允许执行的CPU(0-3,0,1)
–cpuset-mems允许执行的MEMs(0-3,0,1)
–disable-content-trust跳过镜像验证,默认为true
–file , -fDockerfile的名称(默认为"PATH/Dockerfile")
–force-rm始终移除中间容器
–iidfile将镜像ID写入文件
–isolation容器隔离技术
–label设置镜像元数据
–memory , -m限制内存大小
–memory-swap交换限制等于内存加交换:’-1’以启用无限制交换
–network在生成期间为运行指令设置网络模式,1.25+
–no-cache构建镜像时不使用缓存
–output , -o输出目的地(格式:type=local,dest=path),1.40+
–platform如果服务器支持多平台,则设置平台,1.38+
–progress设置进度输出的类型(auto、plain、tty),使用纯文本显示容器输出,默认为auto
–pull总是尝试拉取镜像的最新版本
–quiet , -q成功时取消生成输出并打印镜像ID
–rm成功生成后删除中间容器,默认为true
–secret要向生成公开的机密文件(仅在启用BuildKit时):id=mysecret,src=/local/Secret,1.39+
–security-opt安全选项
–shm-size/dev/shm的大小
–squash将新构建的层压缩到单个新层中,1.25+
–ssh要向生成公开的SSH代理套接字或密钥(仅当启用BuildKit时)
–stream流连接到服务器以协商生成上下文,1.31+
–tag , -t名称和可选的’name:tag’格式
–target将目标生成阶段设置为生成。
–ulimitUlimit选项

  示例

  · 当前目录dockerfile,-t指定镜像名称和标签。

  自建目录securitit/dockerfile/,在目录下新建dockerfile,写入简单的构建命令。

FROM nginx
CMD /bin/bash

  securitit/dockerfile/目录下输入构建命令,用来构建基于nginx:latest的自定义镜像。

docker build -t securitit-nginx-build:1.0.0.1 .

在这里插入图片描述

  · -f指定dockerfile路径、-t指定镜像名称和标签。

  复用上例的dockerfile文件,增加-f参数指定dockerfile文件路径进行构建。

docker build -f /securitit/dockerfile/dockerfile -t securitit-nginx-build:1.0.0.2 .

在这里插入图片描述

  · -f指定dockerfile路径、-t指定镜像名称和标签、–build-arg指定构建时参数。

  修改上例的dockerfile,增加参数应用部分内容。

FROM nginx
ARG NG_VN
RUN echo "${NG_VN}"
CMD /bin/bash

  securitit/dockerfile/目录下输入构建命令,用来构建基于nginx:latest的自定义镜像。

docker build -f /securitit/dockerfile/dockerfile --build-arg NG_VN=SecurititV101 -t securitit-nginx-build:1.0.0.3 .

在这里插入图片描述

  总结

  dokcer build的参数较多,本文没有一一例举,只是例举了几个常用的参数,其余的参数,可以参照本文提供的表格(表格翻译自官网)。在Docker系列后续的博文中,会涉及到其余参数的应用,可以持续关注本博。

  若文中存在错误和不足,欢迎指正!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值