Once you have a Dockerfile, you can build an image from it using docker build
.
The basic form of this command is:
docker build -t image-name path
If your Dockerfile isn't named Dockerfile
, you can use the -f
flag to give the name of the Dockerfile to build.
docker build -t image-name -f Dockerfile2 .
For example, to build an image named dockerbuild-example:1.0.0
from a Dockerfile
in the current working directory:
$ ls
Dockerfile Dockerfile2
$ docker build -t dockerbuild-example:1.0.0 .
$ docker build -t dockerbuild-example-2:1.0.0 -f Dockerfile2 .
See the docker build
usage documentation for more options and settings.
A common mistake is creating a Dockerfile in the user home directory (~
). This is a bad idea because during docker build -t mytag .
this message will appear for a long time:
Uploading context
The cause is the docker daemon trying to copy all the user's files (both the home directory and it's subdirectories). Avoid this by always specifying a directory for the Dockerfile.
Adding a .dockerignore
file to the build directory is a good practice. Its syntax is similar to .gitignore
files and will make sure only wanted files and directories are uploaded as the context of the build.