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?


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 --no-cache -t build-context -f - . <<EOF
FROM busybox
WORKDIR /build-context
COPY . .
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

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.