From d9648a25445fe98112b59dee39a4c9f32167c9b4 Mon Sep 17 00:00:00 2001 From: Jason <374632897@qq.com> Date: Sat, 18 Feb 2017 14:35:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=B3=E4=BA=8E=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=BD=AE=E4=BA=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- image/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/build.md b/image/build.md index 8faf5a2..11a0aca 100644 --- a/image/build.md +++ b/image/build.md @@ -164,7 +164,7 @@ Sending build context to Docker daemon 2.048 kB 理解构建上下文对于镜像构建是很重要的,避免犯一些不应该的错误。比如有些初学者在发现 `COPY /opt/xxxx /app` 不工作后,于是干脆将 `Dockerfile` 放到了硬盘根目录去构建,结果发现 `docker build` 执行后,在发送一个几十 GB 的东西,极为缓慢而且很容易构建失败。那是因为这种做法是在让 `docker build` 打包整个硬盘,这显然是使用错误。 -一般来说,应该会将 `Dockerfile` 至于一个空目录下,或者项目根目录下。如果该目录下没有所需文件,那么应该把所需文件复制一份过来。如果目录下有些东西确实不希望构建时传给 Docker 引擎,那么可以用 `.gitignore` 一样的语法写一个 `.dockerignore`,该文件是用于剔除不需要作为上下文传递给 Docker 引擎的。 +一般来说,应该会将 `Dockerfile` 置于一个空目录下,或者项目根目录下。如果该目录下没有所需文件,那么应该把所需文件复制一份过来。如果目录下有些东西确实不希望构建时传给 Docker 引擎,那么可以用 `.gitignore` 一样的语法写一个 `.dockerignore`,该文件是用于剔除不需要作为上下文传递给 Docker 引擎的。 那么为什么会有人误以为 `.` 是指定 `Dockerfile` 所在目录呢?这是因为在默认情况下,如果不额外指定 `Dockerfile` 的话,会将上下文目录下的名为 `Dockerfile` 的文件作为 Dockerfile。