docker build的用法
时间: 2025-01-31 21:09:57 浏览: 58
### Docker Build 命令详解
#### 一、命令概述
`docker build` 是用于构建 Docker 镜像的命令。此命令通过读取并解析位于给定路径下的 `Dockerfile` 文件中的指令和构建上下文来生成镜像[^3]。
#### 二、基本语法结构
该命令的基本形式如下所示:
```bash
docker build [OPTIONS] PATH | URL | -
```
其中 `[OPTIONS]` 表示可选参数列表,而 `PATH`, `URL` 或 `-` 则指定了包含 `Dockerfile` 的位置或者是标准输入流[^2]。
#### 三、常用选项解释
以下是几个常用的 `docker build` 参数及其作用:
- **--build-arg=[]**: 设置构建过程中使用的环境变量,在 `Dockerfile` 中可以通过 `ARG` 指令获取这些值;
- **-f/--file=FILE**: 明确指出要使用的 `Dockerfile` 路径,默认情况下会在当前目录下寻找名为 `Dockerfile` 的文件;
- **-t/--tag=name[:tag]**: 给新创建出来的镜像赋予名称及标签(版本号),方便后续引用;
- **--network=bridge/host/none/container:** : 控制网络连接方式,比如桥接模式(`bridge`)、主机模式(`host`)或是完全隔离(`none`);
- **--cpu-shares=<value>** :调整 CPU 时间片分配比例;
更多其他可用选项可以参见官方文档[^4]。
#### 四、简单实例展示
下面给出一个简单的例子来演示如何利用上述提到的功能特性来进行一次完整的镜像打包操作:
假设有一个项目根目录 `/path/to/myapp` ,里面包含了应用程序所需的全部资源以及一份描述了所需依赖关系和服务启动逻辑的 `Dockerfile`. 接下来就可以执行以下命令完成整个过程:
```bash
cd /path/to/myapp/
docker build -t myapplication:v1 .
```
这里使用了 `-t` 来指定最终产物的名字叫做 "myapplication" 并附带了一个自定义版本标记 "v1". 同时注意最后面那个单独的小数点`.`表示以当前位置作为构建上下文传递给 Docker Daemon 处理.
对于更复杂的场景,则可能还需要额外加入一些定制化的配置项, 如设置特定于本次编译阶段才会生效的一些临时性的全局属性(即所谓的构建参数), 又或者是指向远程仓库地址而非本地磁盘上的某个固定位置等等.
```bash
docker build \
--network host \
-f ./alternative.Dockerfile \
-t custom_app:latest \
https://github.com/user/repo.git#branch:subdir/context/path
```
在这个复杂案例里,不仅设置了代理服务器信息以便能够顺利下载外部包库,还改变了默认的工作区至 Git 版本控制系统托管的一个分支内,并选择了不同于常规命名惯例的目标映射名。
---
阅读全文
相关推荐


















