====== 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 //'' \\ ''//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/]]