Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docpublic:systemes:docker_linux [2024/12/07 21:58]
adminjp [user group docker]
docpublic:systemes:docker_linux [2026/01/03 20:42] (current)
adminjp [docker image store]
Line 8: Line 8:
   * https://docs.docker.com/engine/install/debian/   * https://docs.docker.com/engine/install/debian/
   * https://belginux.com/installer-docker-sous-debian-12/   * https://belginux.com/installer-docker-sous-debian-12/
 +  * https://linuxiac.com/how-to-install-docker-on-debian-13-trixie/
 +  * https://cours.brosseau.ovh/cheatsheets/serveur/debian-docker.html
 +  * https://earthly.dev/blog/docker-image-storage-on-host/
 +  * https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-debian-10
 +  * https://iximiuz.com/en/posts/oci-containers/
 +  * https://blog.stephane-robert.info/docs/conteneurs/moteurs-conteneurs/docker/#_top
 +  * https://xavki.blog/docker-tutoriaux-francais/
 +
  
  
Line 186: Line 194:
   ]   ]
 } }
 +
 +</code>
 +
 +=== image file location ===
 +
 +<code>
 +jehan@debL74$ docker info | grep -i "Storage Driver"
 + Storage Driver: overlay2
 +jehan@debL74$ docker info | grep "Root Dir"
 +WARNING: bridge-nf-call-iptables is disabled
 + Docker Root Dir: /var/lib/docker
 +</code>
 +
 +
 +<code>
 +root@debL74-14212:~# du -sm /var/lib/docker/overlay2/df3026f153ed2fb49308f8124adf41b81dcc48384a1497a28ff445bffbd89782/*
 +84 /var/lib/docker/overlay2/df3026f153ed2fb49308f8124adf41b81dcc48384a1497a28ff445bffbd89782/diff
 +1 /var/lib/docker/overlay2/df3026f153ed2fb49308f8124adf41b81dcc48384a1497a28ff445bffbd89782/link
 +</code>
 +
 +=== change image location root-dir ===
 +
 +<code>
 +root@deb13lthp640:~# mkdir /home/docker-data
 +root@deb13lthp640:~# chown root:docker /home/docker-data
 +root@deb13lthp640:~# chmod 775 /home/docker-data
 +</code>
 +
 +<code>
 +root@deb13lthp640:~# vim /etc/docker/daemon.json
 +root@deb13lthp640:~# cat /etc/docker/daemon.json
 +{
 +  "data-root": "/home/docker-data"
 +}
 +</code>
 +
 +stop docker 
 +
 +<code>
 +
 +root@deb13lthp640:~# systemctl stop docker
 +root@deb13lthp640:~# ps aux | grep -i docker | grep -v grep
 +</code>
 +
 +
 +and copy files from original root-dir 
 +
 +<code>
 +
 +root@deb13lthp640:~# rsync -axPS /var/lib/docker/ /home/docker-data
 +sending incremental file list
 +./
 +engine-id
 +             36 100%    0,00kB/   0:00:00 (xfr#1, to-chk=32/34)
 +buildkit/
 +buildkit/cache.db
 +         32.768 100%   31,25MB/   0:00:00 (xfr#2, to-chk=22/34)
 +buildkit/history_c8d.db
 +         32.768 100%   31,25MB/   0:00:00 (xfr#3, to-chk=21/34)
 +buildkit/containerd-overlayfs/
 +buildkit/containerd-overlayfs/metadata_v2.db
 +         16.384 100%   15,62MB/   0:00:00 (xfr#4, to-chk=18/34)
 +buildkit/containerd-overlayfs/workerid
 +             25 100%   24,41kB/   0:00:00 (xfr#5, to-chk=17/34)
 +buildkit/containerd-overlayfs/cachemounts/
 +buildkit/executor/
 +containers/
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3-json.log
 +          2.346 100%    2,24MB/   0:00:00 (xfr#6, to-chk=14/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/config.v2.json
 +          3.037 100%    2,90MB/   0:00:00 (xfr#7, to-chk=13/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/hostconfig.json
 +          1.866 100%    1,78MB/   0:00:00 (xfr#8, to-chk=12/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/hostname
 +             13 100%   12,70kB/   0:00:00 (xfr#9, to-chk=11/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/hosts
 +            148 100%  144,53kB/   0:00:00 (xfr#10, to-chk=10/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/resolv.conf
 +            277 100%  270,51kB/   0:00:00 (xfr#11, to-chk=9/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/resolv.conf.hash
 +             71 100%   69,34kB/   0:00:00 (xfr#12, to-chk=8/34)
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/checkpoints/
 +containers/3e95da49fbf3f1cb0a011336b9ab0552fd9e4dbb070f945783fdbb32b11621d3/mounts/
 +network/
 +network/files/
 +network/files/local-kv.db
 +         65.536 100%   31,25MB/   0:00:00 (xfr#13, to-chk=4/34)
 +plugins/
 +plugins/tmp/
 +rootfs/
 +rootfs/overlayfs/
 +runtimes/
 +swarm/
 +tmp/
 +volumes/
 +volumes/backingFsBlockDev
 +volumes/metadata.db
 +         32.768 100%   15,62MB/   0:00:00 (xfr#14, to-chk=0/34)
 +</code>
 +
 +restart 
 +
 +<code>
 +root@deb13lthp640:~# systemctl start docker
 +root@deb13lthp640:~# docker info | grep 'Docker Root Dir
 +> ^C
 +root@deb13lthp640:~# docker info | grep 'Docker Root Dir'
 + Docker Root Dir: /home/docker-data
 +</code>
 +==== run interactive terminal (-it) ====
 +
 +pour lancer notre image ubuntu et en instancier un container (CT) avec un shell interactif oouvert :
 +
 +<code>
 + jehan@debL74$ docker run -it ubuntu
 +root@c3b25bd7fa19:/# cat /etc/os-release 
 +PRETTY_NAME="Ubuntu 24.04.1 LTS"
 +NAME="Ubuntu"
 +VERSION_ID="24.04"
 +VERSION="24.04.1 LTS (Noble Numbat)"
 +</code>
 +
 +
 +==== docker compose ====
 +
 +monter une image mysql + phpMyAdmin avec un compose file en yaml 
 +
 +<code>
 +jehan@debL74:~/Docker$ cat ./docker-compose-mysql1.yml
 +services:
 +  db:
 +    image: mysql:8
 +    container_name: db
 +    restart: always
 +    environment:
 +      - MYSQL_USER=user
 +      - MYSQL_PASSWORD=user-secret
 +      - MYSQL_ROOT_PASSWORD=root-secret
 +    volumes:
 +      - ~/mysql-data:/var/lib/mysql
 +    ports:
 +      - 3306:3306
 +
 +  phpmyadmin:
 +    image: phpmyadmin
 +    container_name: phpmyadmin
 +    restart: always
 +    environment:
 +      - PMA_HOST=db
 +      - PMA_PORT=3306
 +    ports:
 +      - 8081:80
 +    depends_on:
 +      - db
 +</code>
 +
 +
 +<code>
 +jehan@debL74-14212:~/Docker$ docker compose --file ./docker-compose-mysql1.yml up -d
 +[+] Running 31/2
 + ✔ db Pulled                                                                                                                                    26.4s 
 + ✔ phpmyadmin Pulled                                                                                                                            38.0s 
 +[+] Running 3/3
 + ✔ Network docker_default  Created                                                                                                               0.2s 
 + ✔ Container db            Started                                                                                                               0.6s 
 + ✔ Container phpmyadmin    Started   
 +</code>
 +
 +
 +<code>
 +jehan@debL74:~/Docker$ docker ps 
 +CONTAINER ID   IMAGE        COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
 +355a0c9fc396   phpmyadmin   "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes   0.0.0.0:8081->80/tcp, [::]:8081->80/tcp                phpmyadmin
 +0dc0c7d82738   mysql:     "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   db
 +</code>
 +
 +service phpMyAdmin consultable sur http://localhost:8081/
 +
 +==== build a dockerfile ====
 +
 +<code>
 +jehan@debL74:~/Docker$ cat ./dockerfile-phpjp1.dck 
 +FROM php:apache
 +RUN docker-php-ext-install pdo pdo_mysql mysqli
 +</code>
 +
 +
 +<code>
 +jehan@debL74:~/Docker$ docker build --file dockerfile-phpjp1.dck  .
 +[+] Building 33.8s (6/6) FINISHED                                                                                                      docker:default
 + => [internal] load build definition from dockerfile-phpjp1.dck                                                                                  0.1s
 + => => transferring dockerfile: 112B                                                                                                             0.0s
 + => [internal] load metadata for docker.io/library/php:apache                                                                                    1.3s
 + => [internal] load .dockerignore                                                                                                                0.0s
 + => => transferring context: 2B                                                                                                                  0.0s
 + => [1/2] FROM docker.io/library/php:apache@sha256:204de2d31416e176774b98217beb8e078a9f3b55306b370d6a9f1f470af5f306                             17.3s
 + => => resolve docker.io/library/php:apache@sha256:204de2d31416e176774b98217beb8e078a9f3b55306b370d6a9f1f470af5f306                              0.0s
 + => => sha256:8a64a27210ceb93ea27ca865c5cf246274ba43f2d36bc96e7b2271b0e68cd3e3 104.15MB / 104.15MB      
 +...
 +=> => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1                                                        0.0s
 + => [2/2] RUN docker-php-ext-install pdo pdo_mysql mysqli                                                                                       14.9s
 + => exporting to image                                                                                                                           0.1s
 + => => exporting layers                                                                                                                          0.1s
 + => => writing image sha256:3f716064cbf1786dc96ef9bc2ae7897e224ab1cb60cc7f812e9e7e58913b0368      
 +</code>
 +resultat, une image pas nomée "none" apparait 
 +
 +<code>
 +jehan@debL74:~/Docker$ docker image list 
 +REPOSITORY    TAG       IMAGE ID       CREATED          SIZE
 +<none>        <none>    3f716064cbf1   18 seconds ago   513MB
 +ubuntu        latest    b1d9df8ab815   2 weeks ago      78.1MB
 +mysql                 3818a28b4a67   7 weeks ago      594MB
 +phpmyadmin    latest    a590866d53f0   17 months ago    558MB
 +hello-world   latest    d2c94e258dcb   19 months ago    13.3kB
 +</code>
 +
 +<code>
 +jehan@debL74-14212:~/Docker$ docker tag 3f716064cbf1 php-apache/jp1
 +jehan@debL74-14212:~/Docker$ docker image list 
 +REPOSITORY       TAG       IMAGE ID       CREATED         SIZE
 +php-apache/jp1   latest    3f716064cbf1   4 minutes ago   513MB
 +</code>
 +
 +===== docker compose et dockerfile combiné www-site =====
 +
 +==== site DocumentRoot et content ====
 +
 +<code>
 +jehan@debL74-14212:~/Docker$ mkdir ~/Docker/dck-www-site
 +
 +jehan@debL74:~/Docker$ echo "<html><h3>docker web site JP1</h3></html>" | tee ./dck-www-site/index.html 
 +<html><h3>docker web site JP1</h3></html>
 +</code>
 +
 +==== DockerFile ====
 +
 +<code>
 +jehan@debL74:~/Docker$ cat dockerfile-phpjp1.dck
 +FROM php:apache
 +RUN docker-php-ext-install pdo pdo_mysql mysqli
 +</code>
 +
 +==== Docker compose projet www site ====
 +
 +<code>
 +jehan@debL74:~/Docker$ cat docker-compose-phpsitejp1.yml
 +services:
 +  php:
 +    build: 
 +      dockerfile: ./dockerfile-phpjp1.dck
 +    container_name: php
 +    restart: always
 +    volumes:
 +      - ~/Docker/dck-www-site:/var/www/html
 +    ports:
 +      - 9090:80
 +</code>
 +
 +==== Run docker compose & file www site ====
 +
 +instance de CT resultat de la combinaison du docker compose incluant le dockerfile ci-dessus
 +
 +<code>
 +jehan@debL74:~/Docker$ docker compose --file ./docker-compose-phpsitejp1.yml up -d
 +[+] Building 1.3s (7/7) FINISHED                                                                                                       docker:default
 + => [php internal] load build definition from dockerfile-phpjp1.dck                                                                              0.0s
 + => => transferring dockerfile: 112B                                                                                                             0.0s
 + => [php internal] load metadata for docker.io/library/php:apache                                                                                1.1s
 + => [php internal] load .dockerignore                                                                                                            0.0s
 + => => transferring context: 2B                                                                                                                  0.0s
 + => [php 1/2] FROM docker.io/library/php:apache@sha256:204de2d31416e176774b98217beb8e078a9f3b55306b370d6a9f1f470af5f306                          0.0s
 + => CACHED [php 2/2] RUN docker-php-ext-install pdo pdo_mysql mysqli                                                                             0.0s
 + => [php] exporting to image                                                                                                                     0.0s
 + => => exporting layers                                                                                                                          0.0s
 + => => writing image sha256:5c7cbcf942fd91e116d24dad0d4291035bb7570ab4b4666b2110787554a24c20                                                     0.0s
 + => => naming to docker.io/library/docker-php                                                                                                    0.0s
 + => [php] resolving provenance for metadata file                                                                                                 0.0s
 +WARN[0001] Found orphan containers ([phpmyadmin db]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 
 +[+] Running 1/1
 + ✔ Container php  Started                                                                                                                        0.5s 
 +jehan@debL74:~/Docker$ docker ps
 +CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                                     NAMES
 +b22bc9482808   docker-php   "docker-php-entrypoi…"   24 seconds ago   Up 23 seconds   0.0.0.0:9090->80/tcp, [::]:9090->80/tcp   php
 +</code>
 +
 +<code>
 +jehan@debL74:~/Docker$ docker exec -it b22bc9482808 bash
 +root@b22bc9482808:/var/www/html# ls
 +index.html
 +</code>
 +
 +==== consultation cliente ====
 +
 +http://localhost:9090/
 +
 +docker web site JP1
 +
  
docpublic/systemes/docker_linux.1733608707.txt.gz · Last modified: 2024/12/07 21:58 by adminjp
[unknown link type]Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0