Table of Contents

Basic Docker commands


Running a Container

docker run –name nginx-base -p 80:80 -p 443:443 nginx:latest

Downloading a Container Image

docker pull nginx:latest

root@hdcdev01:~# docker pull nginx:latest
latest: Pulling from library/nginx
Digest: sha256:943c25b4b66b332184d5ba6bb18234273551593016c0e0ae906bab111548239f
Status: Image is up to date for nginx:latest
docker.io/library/nginx:latest
root@hdcdev01:~#

Creating a Container from an Image


Starting a Container

docker start nginx-base

Listing Docker Containers

docker ps lists all running docker containers

root@hdcdev01:~# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED       STATUS       PORTS                                      NAMES
4e7e0d9d7963   lscr.io/linuxserver/dokuwiki:latest   "/init"                  4 hours ago   Up 4 hours   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   dokuwiki
dcc0e627c5b2   nginx:latest                          "/docker-entrypoint.…"   2 days ago    Up 2 days    0.0.0.0:81->80/tcp                         nginx-base

docker ps -a lists all docker containers
root@hdcdev01:~# docker ps -a
CONTAINER ID   IMAGE                                 COMMAND                  CREATED       STATUS                    PORTS                                      NAMES
4e7e0d9d7963   lscr.io/linuxserver/dokuwiki:latest   "/init"                  4 hours ago   Up 4 hours                0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   dokuwiki
dcc0e627c5b2   nginx:latest                          "/docker-entrypoint.…"   2 days ago    Up 2 days                 0.0.0.0:81->80/tcp                         nginx-base
acf87a65ecda   lscr.io/linuxserver/dokuwiki          "/init"                  4 days ago    Exited (111) 4 days ago                                              agitated_rhodes
25ff71bdd9a3   httpd:2.4.54                          "httpd-foreground"       4 days ago    Created                                                              test1234
c2c01f546383   httpd:2.4.54                          "httpd-foreground"       4 days ago    Created                                                              test123
b6dd05c80f90   debian                                "bash"                   4 days ago    Exited (129) 4 days ago                                              distracted_goldwasser
ef0ab877942f   srv.world/debian-apache2              "/usr/sbin/apachectl…"   4 days ago    Exited (137) 4 days ago                                              sharp_curie

Connecting to Docker Containers

docker exec -it <container id|name> <command>
docker exec -it dcc0e627c5b2 bash
docker exec -it nginx-base bash
To exit the container, type exit at the command prompt within the container.

root@hdcdev01:~# docker exec -it dcc0e627c5b2 bash
root@dcc0e627c5b2:/# exit
exit
root@hdcdev01:~# 
root@hdcdev01:~# docker exec -it nginx-base bash
root@dcc0e627c5b2:/# exit
exit
root@hdcdev01:~#

Copy files from/to Docker Container

Use the Docker cp command to copy files.

Copy a specific file TO the container:

docker cp foo.txt container_id:/foo.txt

Copy a specific file FROM the container:

docker cp container_id:/foo.txt foo.txt

Copy multiple files from source to the target folder:

docker cp source/. container_id:/target
docker cp container_id:/source/. target


Backup Docker Container

root@hdcdev01:~/freeradius# docker container ls -a
CONTAINER ID   IMAGE         COMMAND                 CREATED        STATUS         PORTS                              NAMES
33e92ed82b82   freerad-ybk   "/bin/sh -c /init.sh"   15 hours ago   Up 4 seconds   0.0.0.0:1812-1813->1812-1813/udp   freerad-ybk
root@hdcdev01:~/freeradius#

root@hdcdev01:~/freeradius# docker commit -p 33e92ed82b82 freeradius-yubikey
sha256:3b9552a2de7c185310a5fd639781195ccc16b9cd2b544465783da0c6e58ddd7e
root@hdcdev01:~/freeradius#

root@hdcdev01:~/freeradius# docker save -o ~/freeradius-yubikey.tar freeradius-yubikey
root@hdcdev01:~/freeradius#
https://www.geeksforgeeks.org/backing-up-a-docker-container/