Docker Cheetsheet 🐳

Docker Cheetsheet 🐳

·

3 min read

Manage images

docker build

Create an image from a Dockerfile.

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.

docker run [options] IMAGE
  # see `docker create` for options

Example

Run a command in an image.

docker run -it debian:buster /bin/bash

Manage containers

docker Create

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.

$ docker create --name app_redis_1 \
  --expose 6379 \
  redis:3.0.2

docker Exec

Command to login to the container,

docker exec [options] CONTAINER COMMAND
  -d, --detach        # run in background
  -i, --interactive   # stdin
  -t, --tty           # interactive

Example

Run commands in a container.

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.

docker start [options] CONTAINER
  -a, --attach        # attach stdout/err
  -i, --interactive   # attach stdin

docker stop [options] CONTAINER

docker ps

Manage containers using ps/kill.

docker ps
docker ps -a
docker kill $ID

docker logs

See what's being logged in an container.

docker logs $ID
docker logs $ID 2>&1 | less
docker logs -f $ID # Follow log output

Images

docker images

Manages images.

$ docker images
  REPOSITORY   TAG        ID
  ubuntu       12.10      b750fe78269d
  me/myapp     latest     7b2431a8d968
docker images -a   # also show intermediate

docker rmi

Deletes images.

docker rmi b750fe78269d

Clean up

Clean all

Cleans up dangling images, containers, volumes, and networks (ie, not associated with a container)

docker system prune

Additionally remove any stopped containers and all unused images (not just dangling images)

docker system prune -a

Containers

# Stop all running containers
docker stop $(docker ps -a -q)

# Delete stopped containers
docker container prune

Images

Delete all the images

docker image prune [-a]

Volumes

Delete all the volumes

docker volume prune

Sevices

To view list of all the services runnning in swarm

docker service ls

To see all running services

docker stack services stack_name

to see all services logs

docker service logs stack_name service_name

To scale services quickly across qualified node

docker service scale stack_name_service_name=replicas

Clean up

To clean or prune unused (dangling) images

docker image prune

To remove all images which are not in use containers , add - a

docker image prune -a

To prune your entire system

docker system prune

To leave swarm

docker swarm leave

To remove swarm ( deletes all volume data and database info)

docker stack rm stack_name

To kill all running containers

docker kill $(docekr ps -q )

Also see

Did you find this article valuable?

Support Open Source Dev by becoming a sponsor. Any amount is appreciated!