Docker Basic Commands Example - sakaki-/gentoo-on-rpi-64bit GitHub Wiki
Basic Docker Commands
Some basic commands include
# To list running containers
docker ps
# To list containers both started / stopped
docker ps --all
# To start a container
docker start [containerid]
To use docker as a non root user
usermod -aG docker username
To debug or view what's going on within the docker server daemon
docker events
Ubuntu Example
In this example we're going to setup a couple of ubuntu images called test1 and test2. For the network I've specified defnet.
In some cases with images that don't run an actual service such as debian, ubuntu or busybox we need to add in a -it command line option. The -t allocates a pseudo-TTY which stops the container from going into a start / stop loop since it has no service to run otherwise. The -i specifies it should be interactive, this means we can attach to it to run some commands from the outside.
docker run -it -d --name=test1 --restart=always --network=defnet ubuntu:latest
docker run -it -d --name=test2 --restart=always --network=defnet ubuntu:latest
Now we can attach to the test1 container (this can also be done within portainer's web gui)
# This lists the running docker containers
docker ps
# Attach to container test1
docker attach test1
Within the new ubuntu shell we can now install some network tools for ping / testing.
apt update
apt install iputils-ping
apt install net-tools
apt install dnsutils
Lets try some network access
# Show which ip address we're on
ifconfig
# Try pinging the outside - google's dns server
ping 8.8.8.8
# Try pinging the container test2
ping test2
You'll notice with user defined networks (not the default bridge one) one docker container can resolve another one by it's container name instead of having to rely on ip address's