Usage
使用方法
docker build命名根据dockerfile和上下文(context)来构建一个镜像。
docker build命令从Dockerfile和上下文构建映像。构建的上下文是位于指定位置PATH或URL的文件集。 PATH是本地文件系统上的目录。该URL是一个Git存储库位置。
上下文是递归处理的。因此,PATH包括任何子目录,而URL包括存储库及其子模块。此示例显示了一个使用当前目录作为上下文的构建命令:
构建(build)是由Docker守护进程而不是CLI运行的。构建过程要做的第一件事是将整个上下文(递归)发送到Docker守护进程。在大多数情况下,最好以空目录作为上下文,并将Dockerfile保留在该目录中。仅添加构建Dockerfile所需的文件。
要在构建上下文中使用文件,Dockerfile引用指令(例如COPY指令)中指定的文件。为了提高构建的性能,请通过在上下文目录中添加.dockerignore文件来排除相应的文件和目录。
通常,Dockerfile位于上下文的根目录中。将-f与docker build组合起来使用可以指向文件系统中任何位置的Dockerfile。
Note: 不要将根目录/用作PATH,因为它会导致构建将硬盘驱动器的全部内容传输到Docker守护进程。
如果构建成功,则可以指定存储镜像的存储库和标签(tag):
同时构建多个镜像:
在Docker守护进程运行Dockerfile中的指令之前,它会对Dockerfile进行初步验证,如果语法不正确,则会返回错误:
Docker守护进程逐一运行Dockerfile中的指令,并在最终输出新镜像的ID之前,如有必要,将每个指令的结果提交到新镜像。 Docker守护进程会自动清理发送的上下文。
Note: 每条指令都是独立运行的,每条指令运行时会创建一层新的镜像-因此RUN cd /tmp对下一条指令不会有任何影响。
Docker将尽可能的重用中间镜像(缓存),以加快Docker镜像的构建过程。这由控制台输出中的"Use Cache"消息指示。
构建缓存仅用于具有本地父链的镜像。这意味着这些镜像是由以前的版本创建的,或者整个镜像链都已由docker load加载。如果希望使用特定镜像的构建缓存,则可以使用--cache-from选项来指定它。用--cache-from指定的镜像不需要具有父链,并且可以从其他docker仓库拉取。
当我们构建好镜像以后,可以将镜像推送到自己的私人仓库。
Last updated