-
-
Save wattry/9409b5bb14b8f3e086c56d687c44a740 to your computer and use it in GitHub Desktop.
Docker Cheatsheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Images | |
docker build -t friendlyname . # Create image using this directory's Dockerfile | |
docker image ls -a # List all images on this machine | |
docker image rm <image id> # Remove specified image from this machine | |
docker image rm $(docker image ls -a -q) # Remove all images from this machine | |
docker image prune # remove dangling images | |
docker tag <image> username/repository:tag # Tag <image> for upload to registry | |
docker push username/repository:tag # Upload tagged image to registry | |
docker run username/repository:tag # Run image from a registry | |
# Containers | |
docker run -p 4000:80 friendlyname # Run "friendlyname" mapping port 4000 to 80 | |
docker run -d -p 4000:80 friendlyname # Same thing, but in detached mode | |
docker container ls # List all running containers | |
docker container ls -a # List all containers, even those not running | |
docker container stop <hash> # Gracefully stop the specified container | |
docker container kill <hash> # Force shutdown of the specified container | |
docker container rm <hash> # Remove specified container from this machine | |
docker container rm $(docker container ls -a -q) # Remove all containers | |
docker login # Log in this CLI session using your Docker credentials | |
# Services | |
docker stack ls # List stacks or apps | |
docker stack deploy -c <composefile> <appname> # Run the specified Compose file | |
docker service ls # List running services associated with an app | |
docker service ps <service> # List tasks associated with an app | |
docker inspect <task or container> # Inspect task or container | |
docker container ls -q # List container IDs | |
docker stack rm <appname> # Tear down an application | |
docker swarm init | |
docker swarm leave --force # Take down a single node swarm from the manager | |
# Swarm | |
docker-machine create --driver virtualbox myvm1 # Create a VM (Mac, Win7, Linux) | |
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1 # Win10 | |
docker-machine env myvm1 # View basic information about your node | |
docker-machine ssh myvm1 "docker swarm init --advertise-addr <myvm1 ip>" | |
docker-machine installssh myvm1 "docker node ls" # List the nodes in your swarm | |
docker-machine ssh myvm1 "docker node inspect <node ID>" # Inspect a node | |
docker-machine ssh myvm1 "docker swarm join-token -q worker" # View worker join token | |
docker-machine ssh myvm1 "docker swarm join-token -q manager" # View manager join token | |
docker-machine ssh myvm1 # Open an SSH session with the VM; type "exit" to end | |
docker node ls # View nodes in swarm (while logged on to manager) | |
docker-machine ssh myvm2 "docker swarm join --token <token> <manager IP>:2377" # Join the swarm as a worker/manager depending on the token value | |
docker-machine ssh myvm2 "docker swarm leave" # Make the worker leave the swarm | |
docker-machine ssh myvm1 "docker swarm leave -f" # Make master leave, kill swarm | |
docker-machine ls # list VMs, asterisk shows which VM this shell is talking to | |
docker-machine stop myvm1 # Stop a VM that is currently running | |
docker-machine start myvm1 # Start a VM that is currently not running | |
docker-machine restart myvm1 # Restart a VM that is currently running | |
docker-machine env myvm1 # show environment variables and command for myvm1 | |
eval $(docker-machine env myvm1) # Mac command to connect shell to myvm1 | |
eval $(docker-machine env -u) # Disconnect shell from VMs, use native docker | |
& "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env myvm1 | Invoke-Expression # Windows command to connect shell to myvm1 | |
docker stack deploy -c <file> <app> # Deploy an app; command shell must be set to talk to manager (myvm1), uses local Compose file | |
docker-machine scp docker-compose.yml myvm1:~ # Copy file to node's home dir (only required if you use ssh to connect to manager and deploy the app) | |
docker-machine ssh myvm1 "docker stack deploy -c <file> <app>" # Deploy an app using ssh (you must have first copied the Compose file to myvm1) | |
docker-machine stop $(docker-machine ls -q) # Stop all running VMs | |
docker-machine rm $(docker-machine ls -q) # Delete all VMs and their disk images | |
# Network | |
docker network ls | |
docker network inspect <network_id> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment