任何时候你都可以开始做自己想做的事

搜索|
dockcer build 命令参数详细
发布时间:2024-12-08 11:02:57

# docker build --help 输出解析 Usage:  docker buildx build [OPTIONS] PATH | URL | - # 使用方式:docker buildx build [选项] 路径|URL|- (路径可以是本地文件夹、Git仓库URL或Dockerfile内容) Start a build # 开始构建镜像 Aliases:  docker build, docker builder build, docker image build, docker buildx build # 别名:上述命令均可用于启动构建过程 Options:      --add-host strings              # 添加自定义主机到IP映射(格式:"host:ip")      --allow strings                 # 允许额外的特权权限(如:"network.host", "security.insecure")      --annotation stringArray        # 为镜像添加元数据注解      --attest stringArray            # 提供证明参数(格式:"type=sbom,generator=image")      --build-arg stringArray         # 设置构建时变量(环境变量),这些变量可以在Dockerfile中使用ARG指令引用      --build-context stringArray     # 添加额外的构建上下文(例如:"name=path"),可用于多阶段构建或多源构建      --builder string                # 指定要使用的构建器实例,默认是"default"      --cache-from stringArray        # 使用外部缓存来源加速构建(例如:"user/app:cache", "type=local,src=path/to/dir")      --cache-to stringArray          # 将构建缓存导出到指定位置(例如:"user/app:cache", "type=local,dest=path/to/dir")      --call string                   # 设置评估构建的方法("check", "outline", "targets"),默认是"build"      --cgroup-parent string          # 为构建过程中执行的RUN指令设置父cgroup      --check                         # 简写形式的"--call=check",用于检查构建配置  -D, --debug                         # 启用调试日志输出  -f, --file string                   # 指定Dockerfile的位置,默认是当前目录下的Dockerfile      --iidfile string                # 将生成的镜像ID写入到指定文件      --label stringArray             # 为镜像设置标签(metadata)      --load                          # 构建完成后加载镜像到本地镜像库,等价于"--output=type=docker"      --metadata-file string          # 将构建结果的元数据写入到指定文件      --network string                # 为构建期间的RUN指令设置网络模式,默认是"default"      --no-cache                      # 构建时不使用缓存      --no-cache-filter stringArray   # 不缓存特定阶段,以加快其他阶段的构建速度  -o, --output stringArray            # 指定构建输出的目标位置和类型(例如:"type=local,dest=path")      --platform stringArray          # 指定目标平台(操作系统/架构),允许跨平台构建      --progress string               # 设置进度输出的格式("auto", "plain", "tty", "rawjson")。默认是"auto"      --provenance string             # 简写形式的"--attest=type=provenance",用于记录镜像出处信息      --pull                          # 构建前总是尝试拉取最新的基础镜像      --push                          # 构建完成后直接推送到镜像仓库,等价于"--output=type=registry"  -q, --quiet                         # 抑制构建输出,仅在成功后打印镜像ID      --sbom string                   # 简写形式的"--attest=type=sbom",用于软件物料清单(Software Bill of Materials)      --secret stringArray            # 在构建过程中暴露秘密信息(例如:"id=mysecret[,src=/local/secret]")      --shm-size bytes                # 设置构建容器的共享内存大小      --ssh stringArray               # 暴露SSH代理套接字或密钥给构建过程(例如:"default|<id>[=<socket>|<key>[,<key>]]")  -t, --tag stringArray               # 为构建的镜像指定名称和标签(例如:"name:tag")      --target string                 # 设置要构建的多阶段Dockerfile中的目标阶段      --ulimit ulimit                 # 设置构建容器的ulimit限制(例如:nofile=1024:1024)



关键点总结:

--build-arg 和 --secret 是用来传递敏感信息或构建时所需的参数。

--cache-from 和 --cache-to 可以显著提高构建速度,特别是在重复构建相同项目时。

--platform 支持跨平台构建,这对于开发多平台应用非常重要。

--output 和 --push 可以简化工作流,允许构建完成后立即将镜像导出或推送至远程仓库。

--target 对于多阶段构建特别有用,可以选择只构建Dockerfile中的特定阶段。

通过理解每个选项的作用,你可以更灵活地控制 Docker 镜像的构建过程,优化构建效率并确保镜像的安全性和正确性。



上一篇:docker 仓库源
下一篇: docker 常用命令