微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

dockerfile可以放入.dockerignore吗?

文档说是的,它可以.

https://docs.docker.com/engine/reference/builder/

You can even use the .dockerignore file to exclude the Dockerfile and .dockerignore files. These files are still sent to the daemon because it needs them to do its job. But the ADD and copY instructions do not copy them to the image.

但是当我把dockerfile放在.dockerignore中时,我得到了

Sending build context to Docker daemon  1.646MB
Error response from daemon: Cannot locate specified Dockerfile: Dockerfile
最佳答案
是的你可以;你甚至可以将.dockerignore本身扔进那里!

你可能做错了什么 – 可能在错误的目录中?

目录列表:

➜  ls -la
total 16
drwxr-xr-x  4 tj    wheel  128 Nov 30 13:42 .
drwxrwxrwt  7 root  wheel  224 Nov 30 13:42 ..
-rw-r--r--  1 tj    wheel   26 Nov 30 13:41 .dockerignore
-rw-r--r--  1 tj    wheel   28 Nov 30 13:42 Dockerfile

文件内容

➜  cat .dockerignore
.dockerignore
Dockerfile

➜  test_docker_ignore cat Dockerfile
FROM ubuntu:16.04
ADD . .

建一次;指定–no-cache为详细:

➜  docker build -t test --no-cache .
Sending build context to Docker daemon  3.072kB
Step 1/2 : FROM ubuntu:16.04
 ---> 20c44cd7596f
Step 2/2 : ADD . .
 ---> 4d8ded297954
Successfully built 4d8ded297954
Successfully tagged test:latest

添加一些东西到Dockerfile并重建:
构建将使用缓存,因为它忽略了对Dockerfile所做的更改

➜  echo "# A Test Comment" >> Dockerfile
➜  docker build -t test .
Sending build context to Docker daemon  3.072kB
Step 1/2 : FROM ubuntu:16.04
 ---> 20c44cd7596f
Step 2/2 : ADD . .
 ---> Using cache
 ---> 4d8ded297954
Successfully built 4d8ded297954
Successfully tagged test:latest

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐