0% found this document useful (0 votes)
32 views8 pages

Docker Cheat Sheet - 1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views8 pages

Docker Cheat Sheet - 1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Ojas Jawale

Essential Docker commands cheat-sheet

1. Registry & Repository:

- Repository refers to the hosted collection of the images


creating the file system for containers.
- Registry refers to the host containing the repositories
and providing an HTTP API that helps manage the
repositories.
- Docker has its central registry with thousands of
repositories. But before you use the images from this
registry, make sure you verify them to avoid security
issues.

● docker login: To log in to a registry.


● docker logout: To log out from a registry.
● docker search: It will search the registry for the image.
● docker pull: It will pull an image from the registry to
the local machine.
● docker push: It will push an image to the registry from
the local machine.

2. Images:

You can refer to images as the templates for the Docker


containers.You can run the following commands to work with
the images:

● docker images: It will display all images.


● docker import: You can create an image from a tarball.
● docker build: You can create an image from Dockerfile.
● docker commit: You can create an image from a container
and temporarily pause it if it is running.
● docker rmi: It will remove an image.
● docker load: It will load an image from a tar archive as
STDIN, including images and tags.
● docker: It will save an image to a tar archive stream to
STDOUT with all parent layers, tags, & versions.
● docker history: To display the history of an image
● docker tag: It will tag the image to a name.
● docker load < my_image.tar.gz: It will load an image from
the mentioned file along with its history.
● docker save my_image: my_tag | gzip > my_image.tar.gz: It
will save an existing file.
● cat my_container.tar.gz | docker import -
my_image:my_tag: It will import the
container as an image from the mentioned file without its
history; thus, the file size is small.
● docker export my_container | gzip > my_container.tar.gz:
It will export the container.
● docker push repo[:tag]: It will push an image or repo
from the registry.
● docker pull repo[:tag]: It will pull an image or repo
from the registry.
● docker search text: It will allow you to search for an
image in the official registry.

3. Containers:

Containers are the isolated Docker process that contains


the code to be executed.

● docker create: It will create a container without


starting it.
● docker rename: To remane the container.
● docker run: It will create and start the container in one
task.
● docker rm: It will delete a container.
● docker update: It will update a container's resource
limits. Usually, a container will start and stop
immediately if you run it without any option.
● docker run -td container_id: It will keep the container
running, -t will allocate a pseudo-TTY session, and -d will
detach the container automatically.
● docker run --rm: It will remove the container once it
stops.
● docker run -v $HOSTDIR:$DOCKERDIR: It will map a
directory on the host to a docker container.
● docker rm -v: It will remove the volumes associated with
the container.
● docker run --log-driver=syslog: Docker 1.10 comes with
the logging driver for each container, and it will run
docker with a custom log driver.
● docker start: It will start a container, so it is running.
● docker stop: It will stop a running container.
● docker restart: It stops and starts a container.
● docker pause: It will pause a running container,
"freezing" it in place.
● docker unpause: It will unpause a running container.
● docker wait: It will block until the running container
stops.
● docker kill: It sends a SIGKILL to a running container.
● docker attach: It will connect to a running container.
● docker run- it -c 512 agileek/cpuset-test: It lets you
limit the CPU, either using a percentage of all CPUs or by
using specific cores. 1024 means 100% of the CPU, so if
you want the container to take 50% of all CPU cores, you
should specify 512.
● docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-test:
CPU cores using cpuset-cpus.
● docker run -it -m 300M ubuntu:14.04 /bin/bash: Setting
memory constraints on Docker.
● docker run --rm -it --cap-add SYS_ADMIN --device
/dev/fuse sshfs: Setting Linux capabilities using cap-add.
It lets you mount a FUSE-based filesystem, and you need to
combine both --cap-add and --device
● docker run -it --device=/dev/ttyUSB0 debian bash:
Providing access to single device.
● docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb
debian bash: Providing access to all devices.
● docker ps: It will display the running containers.
● docker logs: Provide the logs from the container. (You
can use a custom log driver, but logs are only available
for json-file and journald in 1.10).
● docker inspect: It checks all the information on a
container (including IP address).
● docker events: It will get the events from the container.
● docker port: It will display the public-facing port of
the container.
● docker top: It will display the running processes in the
container.
● docker stats: It will display the containers' resource
usage statistics.
● docker diff: It will display the changed files in the
container's FS.
● docker ps -a: It will display the running and stopped
containers.
● docker stats --all: It will display a list of all
containers, default shows just running.
● docker export: It will turn the container filesystem into
a tarball archive stream to STDOUT.
● docker exec: To execute a command in a container.
● docker exec -it foo /bin/bash: To enter a running
container, attach a new shell process
to a running container called foo.
● docker commit container image: It will commit a new
docker image.
4. Dockerfile Cheat Sheet:

It is a config file that will set up a Docker container


whenever you run a docker build on it.

The following are some instructions that you can use while
working with Dockerfile:

● FROM: It will set the Base Image for subsequent


instructions.
● MAINTAINER (deprecated - use LABEL instead): It will set
the Author field of the generated images.
● RUN: It will execute any commands in a new layer on top
of the current image and then commit the results.
● CMD: It will offer the defaults for an executing
container.
● EXPOSE: It will tell the Docker that the container
listens on the specified network ports at runtime.
● ADD: It will copy the new files, directories, or remote
files to the container.
● COPY: It will copy the new files or directories to a
container. It copies as root regardless of the USER/WORKDIR
settings by default. Use --chown=<user>:<group> to provide
the ownership to another user/group.
● ENTRYPOINT: It will configure a container that will run
as an executable.
● VOLUME: It will create a mount point for externally
mounted volumes or other containers.
● USER: It will set the user name for the following RUN /
CMD / ENTRYPOINT commands.
● WORKDIR: It will set the working directory.
● ARG: It lets you define a build-time variable.
● ONBUILD: It will add a trigger instruction when the image
is used as the base for another build.

5. Networks:

- Docker has a featured network, allowing the containers to


connect. You can create three
network interfaces with Docker, namely bridge, host, and
none.
- By default, the new container is launched into the bridge
network. To establish communication among several
containers, you need a new network for launching containers
in it. It lets the containers communicate while being
isolated from other containers not connected to the
network.
● docker network create NAME: It will create a new network
of bridge type by default.
● docker network rm NAME: It will remove one or more
networks specified by name and make sure that no containers
are connected to the deleted network.
● docker network ls: It will list all the networks.
● docker network inspect NAME: It will show the detailed
information on one or more networks.
● docker network connect NETWORK CONTAINER: It will connect
a container to a network
● docker network disconnect NETWORK CONTAINER: It will
disconnect a container from a network.

6. Volumes:

Docker has volumes that are free-floating file systems. So


there is no need to be connected to a particular container.
You can use volumes mounted from data-only containers for
portability. As per Docker 1.9.0, it comes with the named
volumes that replace data-only containers.

● docker volume create: to create volumes.


● docker volume rm: To remove volumes.
● docker volume ls: To list the volumes.
● docker volume inspect: To inspect the volumes.

7. Orchestrate:

Orchestration manages the container’s life cycle,


especially in dynamic environments. You can use it for
controlling and automating several tasks for containers.
Among a long list of Docker orchestration tools, the most
commonly used orchestration tools are Docker Swarm,
Kubernetes, and Mesos. In this Docker cheat sheet, we are
using Docker Swarm commands.

● Docker swarm init --advertise-addr 10.1.0.2: Initialize


the swarm mode and listen to a
specific interface.
● Docker swarm join --token<manager-token> 10.1.0.2:2377:
It will join an existing swarm as a manager node.
● Docker swarm join --token<worker-token> 10.1.0.2:2377: It
will join a swarm as a worker node.
● Docker node ls: It will list all nodes in the swarm.
● Docker service create --replicas 3 -p 80:80 name -
webngix: It will create a service from an image on the
existing port and deploy three instances.
● Docker service ls: It will list services running in a
swarm.
● Docker service scale web=5: It will scale the service.
● docker service ps web: It will list the tasks of service.

8. Interaction with container:

You can use the following commands to interact with the


container.

● Docker exe -ti container_name command.sh: It will run a


command in the container.
● Docker logs -ft container name: It will follow the
container log.
● Docker commit -m “commit message” -a “author”
container_name username/image_name: tag: It will save the
running container as an image.

9. Build:

You can use the following commands to build the images from
a Docker file.

● Docker build -t myapp : 1.0- will build an image from the


Docker file and tag it.
● Docker images: it will list all the images that are
locally stored
● Docker rmi alpine: 3.4 will delete an image from the
Docker Store.

10. Cleanup:

To optimize the usage of the resources, you need to clean


up the resources frequently to maintain the performance.
You can run the following commands to clean up resources.

● Docker image prune: It will clean an unused/dangling


image
● Docker image prune -a: It will remove an image not used
in a container.
● Docker system prune: It will prune the entire system.
● Docker swarm leave: It will leave a swarm.
● docker stack rm stack_name: It will remove a swarm.
● Docker kills $ (docker ps -q): It will v.
● docker rm $(docker ps -a -q): It will delete all stopped
containers
● docker rmi $(docker images -q): It will delete all images.

11. Services:

Let’s now take a sneak peek at the commands used to view


the running services, run the services, view all service
logs, and scale the services.

● Docker service ls: It will list all services running in a


swarm.
● Docker stack services stack_name: It will display all
running services.
● Docker service logs stack_name service_names: It will
display all service logs.
● Docker service scale stack_name_service_name= replicas:
It will scale a service across qualified nodes.

12. Docker-compose Cheat Sheet:

Compose is a tool that helps you to define and run multi-


container Docker applications. With Compose, you get to
work with a YAML file to configure your application
services. With the help of the following commands, you can
simply create and start all the services from your
configuration.

● docker-compose start: It will start the container.


● docker-compose stop: It will stop the container.
● docker-compose pause: It will pause the container.
● docker-compose unpause: It will unpause the container.
● docker-compose ps: It will list all the containers.
● docker-compose up: It aggregates the output of each
container (essentially running docker-compose logs --
follow ).
● Docker-compose down: It stops containers and removes
containers, networks, volumes, and images created by up.
● Docker-compose -f <docker-compose-file> up: It will start
up your application
● docker-compose stop-run: docker-compose in detached mode
using -d flag, and then you can stop it whenever needed.
Basic example of docker compose file:

Created by,
Ojas Jawale

You might also like