| title | category | layout |
|---|---|---|
Docker CLI |
Devops |
2017/sheet |
docker build [options] .
-t "app/container_name" # name
--build-arg APP_HOME=$APP_HOME # Set build-time variablesCreate an image from a Dockerfile.
docker run [options] IMAGE
# see `docker create` for options$ docker run -it debian:buster /bin/bash
Run a command in an image.
docker create [options] IMAGE
-a, --attach # attach stdout/err
-i, --interactive # attach stdin (interactive)
-t, --tty # pseudo-tty
--name NAME # name your image
-p, --publish 5000:5000 # port map (host:container)
--expose 5432 # expose a port to linked containers
-P, --publish-all # publish all ports
--link container:alias # linking
-v, --volume `pwd`:/app # mount (absolute paths needed)
-e, --env NAME=hello # env vars$ docker create --name app_redis_1 \
--expose 6379 \
redis:3.0.2
Create a container from an image.
docker exec [options] CONTAINER COMMAND
-d, --detach # run in background
-i, --interactive # stdin
-t, --tty # interactive$ docker exec app_web_1 tail logs/development.log
$ docker exec -t -i app_web_1 rails c
Run commands in a container.
docker start [options] CONTAINER
-a, --attach # attach stdout/err
-i, --interactive # attach stdin
docker stop [options] CONTAINERStart/stop a container.
$ docker ps
$ docker ps -a
$ docker kill $ID
Manage containers using ps/kill.
$ docker logs $ID
$ docker logs $ID 2>&1 | less
$ docker logs -f $ID # Follow log output
See what's being logged in an container.
$ docker images
REPOSITORY TAG ID
ubuntu 12.10 b750fe78269d
me/myapp latest 7b2431a8d968$ docker images -a # also show intermediateManages images.
docker rmi b750fe78269dDeletes images.
docker system pruneCleans up dangling images, containers, volumes, and networks (ie, not associated with a container)
docker system prune -aAdditionally remove any stopped containers and all unused images (not just dangling images)
# Stop all running containers
docker stop $(docker ps -a -q)
# Delete stopped containers
docker container prunedocker image prune [-a]Delete all the images
docker volume pruneDelete all the volumes
- Getting Started (docker.io)