前言
- 本篇来学习下制作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