Docker cheat sheet
Check Version
docker versionshows which version of docker you have running.
Containers
Lifecycle
docker createcreates a container but does not start it.docker renameallows the container to be renamed.docker runcreates and starts a container in one operation.docker rmdeletes a container.docker updateupdates a container's resource limits.
Starting and Stopping
docker startstarts a container so it is running.docker stopstops a running container.docker restartstops and starts a container.docker pausepauses a running container, "freezing" it in place.docker unpausewill unpause a running container.docker waitblocks until running container stops.docker killsends a SIGKILL to a running container.docker attachwill connect to a running container.
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:
docker run -it -c 512 agileek/cpuset-testYou can also only use some CPU cores using cpuset-cpus:
docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-testNote 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:
docker run -it -m 300M ubuntu:14.04 /bin/bashInfo
docker psshows running containers.docker logsgets logs from container.docker inspectlooks at all the info on a container (including IP address).docker eventsgets events from container.docker portshows public facing port of container.docker topshows running processes in container.docker statsshows containers' resource usage statistics.docker diffshows changed files in the container's FS.
Import / Export
docker cpcopies files or folders between a container and the local filesystem.docker exportturns container filesystem into tarball archive stream to STDOUT.
Import/Export container
Import a container as an image from file:
cat my_container.tar.gz | docker import - my_image:my_tagExport an existing container:
docker export my_container | gzip > my_container.tar.gzExecuting Commands
docker execto execute a command in container.
Images
Lifecycle
docker imagesshows all images.docker importcreates an image from a tarball.docker buildcreates image from Dockerfile.docker commitcreates image from a container, pausing it temporarily if it is running.docker rmiremoves an image.docker loadloads an image from a tar archive as STDIN, including images and tags (as of 0.7).docker savesaves an image to a tar archive stream to STDOUT with all parent layers, tags & versions (as of 0.7).
Info
docker historyshows history of image.docker tagtags an image to a name (local or registry).
Load/Save image
Load an image from file:
docker load < my_image.tar.gzSave an existing image:
docker save my_image:my_tag | gzip > my_image.tar.gzDockerfile
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
ADDand useCOPYinstead.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 forADD.)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
docker loginto login to a registry.docker logoutto logout from a registry.docker searchsearches registry for image.docker pullpulls an image from registry to local machine.docker pushpushes an image to the registry from local machine.
Volumes
Lifecycle
Info
Networks
Lifecycle
docker network createNAME Create a new network (default type: bridge).docker network rmNAME Remove one or more networks by name or identifier. No containers can be connected to the network when deleting it.
Info
docker network lsList networksdocker network inspectNAME Display detailed information on one or more networks.
Connection
docker network connectNETWORK CONTAINER Connect a container to a networkdocker network disconnectNETWORK CONTAINER Disconnect a container from a network
.
.
.
------
Last updated
Was this helpful?