Manage images
docker build
Create an image
from a Dockerfile.
1
2
3
| docker build [options] .
-t "app/container_name" # name
--build-arg APP_HOME=$APP_HOME # Set build-time variables
|
docker run
Deploys the container from docker image
.
1
2
| docker run [options] IMAGE
# see `docker create` for options
|
Example
Run a command in an image
.
1
| docker run -it debian:buster /bin/bash
|
Manage containers
docker Create
1
2
3
4
5
6
7
8
9
10
11
| 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
|
Example
Create a container
from an image
.
1
2
3
| $ docker create --name app_redis_1 \
--expose 6379 \
redis:3.0.2
|
docker Exec
Command to login to the container,
1
2
3
4
| docker exec [options] CONTAINER COMMAND
-d, --detach # run in background
-i, --interactive # stdin
-t, --tty # interactive
|
Example
Run commands in a container
.
1
2
| docker exec app_web_1 tail logs/development.log
docker exec -t -i app_web_1 rails c
|
docker start/stop
Start/stop a container
.
1
2
3
4
5
| docker start [options] CONTAINER
-a, --attach # attach stdout/err
-i, --interactive # attach stdin
docker stop [options] CONTAINER
|
docker ps
Manage container
s using ps/kill.
1
2
3
| docker ps
docker ps -a
docker kill $ID
|
docker logs
See what’s being logged in an container
.
1
2
3
| docker logs $ID
docker logs $ID 2>&1 | less
docker logs -f $ID # Follow log output
|
Images
docker images
Manages image
s.
1
2
3
4
| $ docker images
REPOSITORY TAG ID
ubuntu 12.10 b750fe78269d
me/myapp latest 7b2431a8d968
|
1
| docker images -a # also show intermediate
|
docker rmi
Deletes image
s.
1
| docker rmi b750fe78269d
|
Clean up
Clean all
Cleans up dangling images, containers, volumes, and networks (ie, not associated with a container)
Additionally remove any stopped containers and all unused images (not just dangling images)
Containers
1
2
3
4
5
| # Stop all running containers
docker stop $(docker ps -a -q)
# Delete stopped containers
docker container prune
|
Images
Delete all the images
1
| docker image prune [-a]
|
Volumes
Delete all the volumes
Sevices
To view list of all the services runnning in swarm
To see all running services
1
| docker stack services stack_name
|
to see all services logs
1
| docker service logs stack_name service_name
|
To scale services quickly across qualified node
1
| docker service scale stack_name_service_name=replicas
|
Clean up
To clean or prune unused (dangling) images
To remove all images which are not in use containers , add - a
To prune your entire system
To leave swarm
To remove swarm ( deletes all volume data and database info)
1
| docker stack rm stack_name
|
To kill all running containers
1
| docker kill $(docekr ps -q )
|
Also see