User Tools

Site Tools


virtualisation:docker:docker_basics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
virtualisation:docker:docker_basics [2023/12/13 05:41] – [Running a Container] srohrvirtualisation:docker:docker_basics [2023/12/13 05:41] (current) – [Running a Container] srohr
Line 1: Line 1:
 +====== 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//'' \\
 +
 +<code>
 +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:~#
 +</code>
 +\\
 +===== Creating a Container from an Image =====
 +\\
 +===== Starting a Container =====
 +
 +''//docker start nginx-base//'' \\
 +\\
 +===== Listing Docker Containers =====
 +
 +''//docker ps//'' lists all __running__ docker containers \\
 +<code>
 +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
 +</code>
 +\\
 +''//docker ps -a//'' lists __all__ docker containers \\
 +<code>
 +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
 +</code>
 +\\
 +===== 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.
 +<code>
 +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:~#
 +</code>
 +\\
 +===== 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 =====
 +
 +<code>
 +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#
 +</code>
 +
 +<code>
 +root@hdcdev01:~/freeradius# docker commit -p 33e92ed82b82 freeradius-yubikey
 +sha256:3b9552a2de7c185310a5fd639781195ccc16b9cd2b544465783da0c6e58ddd7e
 +root@hdcdev01:~/freeradius#
 +</code>
 +
 +<code>
 +root@hdcdev01:~/freeradius# docker save -o ~/freeradius-yubikey.tar freeradius-yubikey
 +root@hdcdev01:~/freeradius#
 +</code>
 +[[https://www.geeksforgeeks.org/backing-up-a-docker-container/]]
  

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki