Build
Build a container image
https://docs.docker.com/engine/reference/commandline/build/
If the current directory has a Dockerfile
:
docker build -t IMAGE_NAME .
Run
Run a container image
https://docs.docker.com/engine/reference/commandline/run/
docker run FLAGS IMAGE_NAME [COMMANDS]
⚠ Make sure the flags come before the image name, otherwise they’ll be interpreted as commands to run inside the container
Some helpful flags:
--rm
: Automatically delete the container when it’s stopped-it
: Use these when you will be connecting to the container (e.g. to run a shell)--network=host
: Use the host machine’s network instead of the default bridge network- This can be useful whenever the container is having problems accessing the network
-v
: Mount a directory from the host machine on the container, e.g.-v "$PWD:/build"
-e
: Set an environment variable, e.g.-e grails.env=dev
- Or use
--env-file
to read in a.env
file
- Or use
--name
: When not using--rm
, give the container a name which can be used to re-run it usingdocker start
, e.g.docker start -a NAME
Containers
List running containers
docker container ls
List all containers
docker container ls --all
Connect to a terminal in a container
docker container exec -it CONTAINER_NAME_OR_ID sh
Stop a container
docker container stop CONTAINER_NAME_OR_ID
Delete a container
docker container rm CONTAINER_NAME_OR_ID
Images
List images
docker image ls
Clean up images
This will delete all images that don’t have an associated container (you may want to delete any unused containers first–see above)
docker image prune -a
Volumes
List volumes
docker volume ls
Create a volume
docker volume create VOLUME_NAME
Delete a volume
docker volume rm VOLUME_NAME