For the complete documentation index, see llms.txt. This page is also available as Markdown.

Docker cheat sheet

Check Version

Containers

Lifecycle

Starting and Stopping

CPU Constraints

You can limit CPU, either using a percentage of all CPUs, or by using specific cores.

For example, you can tell the cpu-shares setting. The setting is a bit strange -- 1024 means 100% of the CPU, so if you want the container to take 50% of all CPU cores, you should specify 512:

You can also only use some CPU cores using cpuset-cpus:

Note that Docker can still see all of the CPUs inside the container -- it just isn't using all of them.

Memory Constraints

You can also set memory constraints on Docker:

Info

Import / Export

  • docker cp copies files or folders between a container and the local filesystem.

  • docker export turns container filesystem into tarball archive stream to STDOUT.

Import/Export container

Import a container as an image from file:

Export an existing container:

Executing Commands

Images

Lifecycle

  • docker images shows all images.

  • docker import creates an image from a tarball.

  • docker build creates image from Dockerfile.

  • docker commit creates image from a container, pausing it temporarily if it is running.

  • docker rmi removes an image.

  • docker load loads an image from a tar archive as STDIN, including images and tags (as of 0.7).

  • docker save saves an image to a tar archive stream to STDOUT with all parent layers, tags & versions (as of 0.7).

Info

Load/Save image

Load an image from file:

Save an existing image:

Dockerfile

Instructions

  • FROM Sets the Base Image for subsequent instructions.

  • MAINTAINER (deprecated - use LABEL instead) Set the Author field of the generated images.

  • RUN execute any commands in a new layer on top of the current image and commit the results.

  • CMD provide defaults for an executing container.

  • EXPOSE informs Docker that the container listens on the specified network ports at runtime. NOTE: does not actually make ports accessible.

  • ENV sets environment variable.

  • ADD copies new files, directories or remote file to container. Invalidates caches. Avoid ADD and use COPY instead.

  • COPY copies new files or directories to container. By default this copies as root regardless of the USER/WORKDIR settings. Use --chown=<user>:<group> to give ownership to another user/group. (Same for ADD.)

  • ENTRYPOINT configures a container that will run as an executable.

  • VOLUME creates a mount point for externally mounted volumes or other containers.

  • USER sets the user name for following RUN / CMD / ENTRYPOINT commands.

  • WORKDIR sets the working directory.

  • ARG defines a build-time variable.

  • ONBUILD adds a trigger instruction when the image is used as the base for another build.

  • STOPSIGNAL sets the system call signal that will be sent to the container to exit.

  • LABEL apply key/value metadata to your images, containers, or daemons.

  • SHELL override default shell is used by docker to run commands.

  • HEALTHCHECK tells docker how to test a container to check that it is still working.

Registry & Repository

Volumes

Lifecycle

Info

Networks

Lifecycle

  • docker network create NAME Create a new network (default type: bridge).

  • docker network rm NAME Remove one or more networks by name or identifier. No containers can be connected to the network when deleting it.

Info

Connection

.

.

.

------

https://github.com/wsargent/docker-cheat-sheet#dockerfile

Last updated