前言
- 本篇来学习下制作docker镜像的命令-- docker build
docker build
原理
- docker build从Dockerfile和上下文构建docker镜像
- 构建的上下文是位于指定PATH或URL中的一组文件
- 构建过程可以引用上下文中的任何文件。例如,构建可以使用COPY指令来引用上下文中的文件。
- URL参数可以引用三种资源:Git存储库、预打包的tarball上下文和纯文本文件
语法格式
docker build [OPTIONS] PATH | URL | -
options说明
| option | 作用 |
|---|---|
| -f | 指定要使用的Dockerfile路径 |
| -t,–tag | 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签 |
| –add-host | 可以使用一个或多个 --add-host 标志将其他主机添加到容器的 /etc/hosts 文件中 |
| –no-cache | 创建镜像的过程不使用缓存 |
| –network | 默认 default。在构建期间设置RUN指令的网络模式 |
| –force-rm | 删除构建过程中的中间容器层。 |
使用示例
docker build --no-cache --force-rm -f dockerfile -t test:v1.0 -t dev:v1.0 .
说明:
- 指定 PATH 为 . ,因此本地目录中的所有文件都会被延迟并发送到 Docker 守护程序
- PATH 指定在哪里可以找到 Docker 守护程序上构建的“上下文”的文件
- 守护进程可以在远程机器上运行,并且不会在客户端(运行 docker build 的地方)解析 Dockerfile
- PATH 中的所有文件都会被发送,而不仅仅是 Dockerfile 中列出的 ADD 文件
- 当看到 Sending build context 消息时,docker 客户端的意思是将上下文从本地机器传输到 Docker 守护进程
注意
- 不要使用根目录 / 作为构建上下文的 PATH,因为会导致构建时,将硬盘驱动器的全部内容发送到 Docker 守护程序

- dockerfile
# dockerfile
FROM centos:7
MAINTAINER dahai<dahai@qq.com>
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash
dockerbuild用于从Dockerfile和上下文构建镜像,上下文包括PATH或URL中的文件。它可以引用上下文中的文件进行COPY等操作。命令选项如-f指定Dockerfile路径,-t设置镜像标签,--no-cache不使用缓存,--force-rm构建完成后删除中间容器。示例展示了如何使用这些选项构建并标记镜像。Dockerfile中包含基础镜像、安装软件等步骤。注意避免使用根目录作为上下文,以防止传输大量不必要的文件。
1152

被折叠的 条评论
为什么被折叠?



