Skip to content

Latest commit

 

History

History
91 lines (84 loc) · 2.27 KB

cheatsheet.md

File metadata and controls

91 lines (84 loc) · 2.27 KB

Docker cheat sheet for the workshop

Images

Pull fedora image

docker pull fedora

List locally available images

docker images

Delete fedora image

docker rmi fedora

Containers

Create container | -i keep STDIN open | -t create pseudo TTY | --name name of the container

docker create -i -t --name my_fedora fedora bash

List containers

docker ps

List containers | -a include non-running containers

docker ps -a

Start container | -a attach to the existing TTY | -i keep STDIN open

docker start -a -i my_fedora 

Delete container | -f remove container even if it's running

docker rm -f my_fedora

Run container | -it interactive mode | --rm remove container when it stops | --name name of the container

docker run -it --rm --name my_fedora fedora bash
dnf install procps-ng iproute hostname  # Bad practice!
ps ax
sleep 10000
ip a
hostname

ps axjf
hostname
docker run -it --rm --name my_fedora --memory 256m fedora bash

dnf install stress  # Bad practice!
stress --vm 2 --vm-bytes 512M

systemd-cgtop

Run container in the backgroun | -d run in background

docker run -d --name my_nginx nginx

Expose ports as random ports on the host | -P ports specified in image will be mapped to random ports on the host | -d run in background

docker run -d -P --name my_nginx nginx

docker port my_nginx

Expose ports to specific ports on the host | -p hostPort:containerPort

docker run -d -p 80:80 --name my_nginx nginx

Mount volume from host | -v mount hostdir /tmp/nginx to container as /usr/share/nginx/html, read only, Z enables access when selinux is on

docker run -d -p 80:80 -v /tmp/nginx:/usr/share/nginx/html:ro,Z --name my_nginx nginx

docker inspect my_nginx

Set environmental variables | -e key=value pair

docker run -d -e MYSQL_ROOT_PASSWORD=my-secret-pw --name my_mariadb mariadb

Link with another container | --link <name of the designated container>:<alias used inside the new container>

docker run -d -p 80:80 --link my_mariadb:mysql --name my_wordpress wordpress

Execute command inside running container | -it interactive mode

docker exec -it my_wordpress bash