问题
After reading the .dockerignore documentation, I'm wondering if there is a way to test it?
Examples
**/node_modules/
How do I check my dockerfile ignore the correct files and directories?
回答1:
To expand on VonC's suggestion, here's a sample build command you can use to create an image with the current folder's build context:
docker image build -t build-context -f - . <<EOF
FROM busybox
COPY . /build-context
WORKDIR /build-context
CMD find .
EOF
Once created, run the container and inspect the contents of the /build-context
directory which includes everything not excluded by the .dockerignore
file:
# run the default find command
docker container run --rm build-context
# or inspect it from a shell using
docker container run --rm -it build-context /bin/sh
You can then cleanup with:
docker image rm build-context
回答2:
To get a detailed analysis of the build context you could use pwaller/docker-show-context.
$ go get -v -u github.com/pwaller/docker-show-context
$ cd ~/path/to/project/using/docker
$ docker-show-context
It outputs statistics about the build such as file sizes and upload times.
回答3:
One way is to make a small Dockerfile with an ADD or COPY directive in it.
Try to add or copy a file in a node_modules
folder: it is does not succeed, that would be because of the .dockerignore
.
来源:https://stackoverflow.com/questions/38946683/how-to-test-dockerignore-file