Docker 从Dockerfile 构建镜像 :build 命令的用法

本文介绍了如何通过Dockerfile创建并使用docker build命令构建Docker镜像的详细步骤。涵盖了Dockerfile准备、构建命令参数说明及验证构建成果的方法。

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

 

Dockerfile 创建完成后,可以使用 docker build 命令根据 Dockerfile 构建一个镜像。

1. 首先准备好 Dockerfile : 

 

2. 执行构建命令: docker build -t second:v1.0 .

注意最后有个点,默认使用 “上下文目录(Context)下的名为Dockerfile 的文件作为 Dockerfile”,

在此,即用当前路径的 Dockerfile 进行构建 。

(2020年10月15日补记:最后那个点的作用是经过评论区码友指正后更正的。感谢码友:小菜鸡的蜕变之路、Meruz)

-t  second : v1.0  给新构建的镜像取名为 second, 并设定版本为 v1.0 。

 

  • docker build: 用 Dockerfile 构建镜像的命令关键词。
  • [OPTIONS] : 命令选项,常用的指令包括 -t 指定镜像的名字,
  •     -f 显示指定构建镜像的 Dockerfile 文件(Dockerfile 可不在当前路径下),
  •      如果不使用 -f,则默认将上下文路径下的名为 Dockerfile 的文件认为是构建镜像的 "Dockerfile" 。
  • 上下文路径|URL: 指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件 。

3. 可以用docker images 查看是否构建成功。

 

参考:https://blog.csdn.net/xl_lx/article/details/78543222

<think>我们正在讨论如何使用dockerbuild命令基于Dockerfile构建Docker镜像。用户的问题很明确,我们需要给出清晰的步骤和解释。根据系统指令,我们需要使用中文回答,并且注意LaTeX格式(虽然这个问题可能不太需要数学公式,但如果有变量或代码等,我们按规则处理)。另外,我们需要生成相关问题。步骤:1.创建一个Dockerfile(用户可能已经创建,但我们还是需要说明)2.在包含Dockerfile的目录下运行dockerbuild命令3.解释dockerbuild命令的基本用法和常用选项注意:我们有两个引用,引用1和引用2,它们都提到了dockerbuildDockerfile。我们可以适当引用。回答结构:-首先简要说明Dockerfiledockerbuild的关系-然后分步骤说明如何构建-给出一个示例命令-解释常用选项(如-t指定标签)-最后生成相关问题由于用户的问题很具体,我们不需要太多背景介绍,直接进入主题。</think>### 如何使用 `docker build` 命令基于 Dockerfile 构建 Docker 镜像 以下是详细步骤和操作说明: #### **1. 准备 Dockerfile** 首先确保在项目目录中存在有效的 Dockerfile 文件。Dockerfile 是包含镜像构建指令的文本文件,例如: ```dockerfile # 基础镜像 FROM ubuntu:20.04 # 安装依赖 RUN apt-get update && apt-get install -y python3 # 复制应用代码 COPY . /app # 设置工作目录 WORKDIR /app # 启动命令 CMD ["python3", "app.py"] ``` #### **2. 执行构建命令** 在包含 Dockerfile 的目录中运行: ```bash docker build -t my-custom-image:latest . ``` - **`-t` 参数**:指定镜像名称和标签(格式:`名称:标签`) - **`.`**:表示使用当前目录作为构建上下文(Dockerfile 所在路径) #### **3. 关键选项说明** | 选项 | 作用 | |---------------|----------------------------------------------------------------------| | `-f` | 指定非默认名称的 Dockerfile(如 `docker build -f Dockerfile.prod .`)| | `--no-cache` | 忽略缓存层强制重新构建 | | `--target` | 多阶段构建时指定目标阶段 | | `--build-arg` | 传递构建参数(需在 Dockerfile 中用 `ARG` 声明) | #### **4. 验证构建结果** ```bash docker images # 查看新构建镜像 docker run -it my-custom-image:latest # 测试运行 ``` #### **5. 构建过程解析** Docker 会逐行执行 Dockerfile 指令: 1. 按顺序执行每个指令(`FROM`, `RUN`, `COPY` 等) 2. 每个指令生成一个只读镜像层 3. 最终输出一个可运行的容器镜像[^1][^2] > **注意**:构建上下文(`.`)包含的所有文件默认会被发送到 Docker 守护进程,建议使用 `.dockerignore` 文件排除无关文件。 --- ### 相关问题 1. 如何通过 `.dockerignore` 文件优化构建上下文大小? 2. Dockerfile 中的多阶段构建(multi-stage build)有什么优势? 3. 如何安全地管理 Docker 构建过程中的敏感信息(如密码)? 4. `docker build` 与 `docker compose build` 有何区别? [^1]: Docker 官方文档:构建镜像的最佳实践 [^2]:Docker】深入理解 Dockerfile构建高效 Docker 镜像的指南
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值