What files are the .dockerignore work on?

I don’t really understand .dockerignore function.
Is it means like the fllow:

  • Lumen does not read env from system during request
  • Unable to Connect to Flask App On Docker From Host [duplicate]
  • Automatic self-configuration of an etcd cluster as a Docker swarm service
  • Dockerfile; docker build volumes: changes to volume via ADD or COPY are not discarded
  • TLS timeout on docker push?
  • AWS Network ACL Rules for Docker
  • 3 Solutions collect form web for “What files are the .dockerignore work on?”

    Before explaining the use of the .dockerignore file we must spend a little time understanding what docker build do.

    Docker build. What does happen when I build an image ?

    When you build an image from a Dockerfile using the docker build command the daemon will create a context. That context contain everything in the directory you executed the command in.

    What does .dockerignore do and why use it ?

    The .dockerignore file allow you to exclude files from the context like a .gitignore file allow you to exclude file from your git repository.

    It help making build faster and lighter by excluding from the context big files or repository that are not used in the build.

    docker build has a step where it tars up the CONTEXT directory and sends it to the docker daemon. This is because the daemon and client might not exist on the same server.

    The tar and network send is why unused files can slow down the build. These happen even if the daemon runs locally.

    Then I put this .dockerignore in container.

    nope, don’t do that. The .dockerignore file is meant to be in the same directory as your Dockerfile and is intended to speed up the docker build command by excluding at build time some of the files that won’t be used to build the docker image.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.