Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:docker3:drf06 [2023/12/17 18:44] adminelearning:workbooks:docker3:drf06 [2024/02/21 13:40] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2023.01**+Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 99: Ligne 99:
 root@manager:~/postgres# echo "postgres" | docker secret create pg_password - root@manager:~/postgres# echo "postgres" | docker secret create pg_password -
 h9tsfbfwz6o0sd35roklwpopi h9tsfbfwz6o0sd35roklwpopi
- 
 root@manager:~/postgres# echo "database" | docker secret create pg_database - root@manager:~/postgres# echo "database" | docker secret create pg_database -
 5lx4zydpfocwgpdto0yy1jod9 5lx4zydpfocwgpdto0yy1jod9
Ligne 230: Ligne 229:
 </WRAP> </WRAP>
  
-Connectez-vous maintenant à Apache Guacamole et ouvrez un navigateur web dans la machine virtuelle **Debian11_10.0.2.46_VNC**. Naviguez ensuite à l'adresse du Manager sur le port **8080** et renseignez les valeurs des secrets :+Connectez-vous maintenant à Apache Guacamole et ouvrez un navigateur web dans la machine virtuelle. Naviguez ensuite à l'adresse du Manager sur le port **8080** et renseignez les valeurs des secrets :
  
 {{ :elearning:workbooks:docker2:2021-04-15.png?direct&600 |}} {{ :elearning:workbooks:docker2:2021-04-15.png?direct&600 |}}
Ligne 244: Ligne 243:
 NAME                SERVICES            ORCHESTRATOR NAME                SERVICES            ORCHESTRATOR
 postgres            2                   Swarm postgres            2                   Swarm
- 
 root@manager:~/postgres# docker stack rm postgres root@manager:~/postgres# docker stack rm postgres
 Removing service postgres_adminer Removing service postgres_adminer
Ligne 258: Ligne 256:
 root@manager:~# cat /etc/group | grep docker root@manager:~# cat /etc/group | grep docker
 docker:x:999: docker:x:999:
- 
 root@manager:~# usermod -aG docker trainee root@manager:~# usermod -aG docker trainee
- 
 root@manager:~# exit root@manager:~# exit
 déconnexion déconnexion
- 
 trainee@manager:~$ docker ps trainee@manager:~$ docker ps
 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
- 
 trainee@manager:~$ newgrp docker trainee@manager:~$ newgrp docker
- 
 trainee@manager:~$ docker ps -a trainee@manager:~$ docker ps -a
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                 NAMES CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                 NAMES
 d02c6115724c        alpine              "/bin/sh"                6 days ago          Exited (0) 6 days ago                               alpine1 d02c6115724c        alpine              "/bin/sh"                6 days ago          Exited (0) 6 days ago                               alpine1
- 
 trainee@manager:~$ docker rm alpine1 trainee@manager:~$ docker rm alpine1
 alpine1 alpine1
- 
 trainee@manager:~$ docker run -d --name alpine1 alpine sleep 99999 trainee@manager:~$ docker run -d --name alpine1 alpine sleep 99999
 a214e2df0499c97e8da25a6c9ea751ac75344c9bcd7d238f8cb8d5c777510ab9 a214e2df0499c97e8da25a6c9ea751ac75344c9bcd7d238f8cb8d5c777510ab9
- 
 trainee@manager:~$ docker ps -a trainee@manager:~$ docker ps -a
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Ligne 304: Ligne 294:
 <code> <code>
 trainee@manager:~$ su - trainee@manager:~$ su -
-Mot de passe : fenestros+Password: fenestros
  
 root@manager:~# git clone https://github.com/docker/docker-bench-security.git root@manager:~# git clone https://github.com/docker/docker-bench-security.git
-Clonage dans 'docker-bench-security'...+Cloning in 'docker-bench-security'...
 remote: Enumerating objects: 18, done. remote: Enumerating objects: 18, done.
 remote: Counting objects: 100% (18/18), done. remote: Counting objects: 100% (18/18), done.
 remote: Compressing objects: 100% (16/16), done. remote: Compressing objects: 100% (16/16), done.
 remote: Total 1921 (delta 5), reused 6 (delta 2), pack-reused 1903 remote: Total 1921 (delta 5), reused 6 (delta 2), pack-reused 1903
-Réception d'objets: 100% (1921/1921), 2.90 MiB | 908.00 KiB/s, fait+Receiving objects: 100% (1921/1921), 2.90 MiB | 908.00 KiB/s, done
-Résolution des deltas: 100% (1339/1339), fait.+Delta resolution: 100% (1339/1339), done.
 </code> </code>
  
Ligne 340: Ligne 330:
 [WARN] 1.1.1 - Ensure a separate partition for containers has been created (Automated) [WARN] 1.1.1 - Ensure a separate partition for containers has been created (Automated)
 [INFO] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon (Automated) [INFO] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon (Automated)
-[INFO]       * Users: +[INFO]       * Users: trainee
 [WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated) [WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated)
 [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated) [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated)
Ligne 489: Ligne 479:
 ... ...
 [INFO] 1 - Host Configuration [INFO] 1 - Host Configuration
- +[INFO] 1.1 - Linux Hosts Specific Configuration 
-[INFO] 1.1 - General Configuration +[WARN] 1.1.1 - Ensure a separate partition for containers has been created (Automated) 
-[NOTE] 1.1.1  - Ensure the container host has been Hardened +[INFO] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon (Automated) 
-[INFO] 1.1.2  - Ensure Docker is up to date +[INFO]       Users: trainee 
-[INFO]        * Using 19.03.4, verify is it up to date as deemed necessary +[WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated) 
-[INFO]        * Your operating system vendor may provide support and security maintenance for Docker +[WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated) 
- +[WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - /var/lib/docker (Automated) 
-[INFO] 1.2 - Linux Hosts Specific Configuration +[WARN] 1.1.6 - Ensure auditing is configured for Docker files and directories - /etc/docker (Automated) 
-[WARN] 1.2.1 - Ensure a separate partition for containers has been created +[WARN] 1.1.7 - Ensure auditing is configured for Docker files and directories - docker.service (Automated) 
-[INFO] 1.2.2  - Ensure only trusted users are allowed to control Docker daemon +[INFO] 1.1.8 - Ensure auditing is configured for Docker files and directories - containerd.sock (Automated)
-[INFO]        docker:x:999:trainee +
-[WARN] 1.2.3  - Ensure auditing is configured for the Docker daemon +
-[WARN] 1.2.4  - Ensure auditing is configured for Docker files and directories - /var/lib/docker +
-[WARN] 1.2.5  - Ensure auditing is configured for Docker files and directories - /etc/docker +
-[WARN] 1.2.6  - Ensure auditing is configured for Docker files and directories - docker.service +
-[WARN] 1.2.7  - Ensure auditing is configured for Docker files and directories - docker.socket +
-[WARN] 1.2.8  - Ensure auditing is configured for Docker files and directories - /etc/default/docker +
-[INFO] 1.2.9  - Ensure auditing is configured for Docker files and directories - /etc/sysconfig/docker+
 [INFO]        * File not found [INFO]        * File not found
-[INFO] 1.2.10  - Ensure auditing is configured for Docker files and directories - /etc/docker/daemon.json+[WARN] 1.1.9 - Ensure auditing is configured for Docker files and directories - docker.socket (Automated) 
 +[WARN] 1.1.10 - Ensure auditing is configured for Docker files and directories - /etc/default/docker (Automated) 
 +[INFO] 1.1.11 - Ensure auditing is configured for Dockerfiles and directories - /etc/docker/daemon.json (Automated) 
 +[INFO]        * File not found 
 +[WARN] 1.1.12 - 1.1.12 Ensure auditing is configured for Dockerfiles and directories - /etc/containerd/config.toml (Automated) 
 +[INFO] 1.1.13 - Ensure auditing is configured for Docker files and directories - /etc/sysconfig/docker (Automated) 
 +[INFO]        * File not found 
 +[WARN] 1.1.14 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd (Automated) 
 +[WARN] 1.1.15 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim (Automated) 
 +[INFO] 1.1.16 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim-runc-v1 (Automated)
 [INFO]         * File not found [INFO]         * File not found
-[WARN] 1.2.11  - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd +[INFO] 1.1.17 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim-runc-v2 (Automated)
-[INFO] 1.2.12  Ensure auditing is configured for Docker files and directories /usr/sbin/runc+
 [INFO]         * File not found [INFO]         * File not found
 +[WARN] 1.1.18 - Ensure auditing is configured for Docker files and directories - /usr/bin/runc (Automated)
 +[INFO] 1.2 - General Configuration
 +[NOTE] 1.2.1 - Ensure the container host has been Hardened (Manual)
 +[PASS] 1.2.2 - Ensure that the version of Docker is up to date (Manual)
 +[INFO]        * Using 19.03.4, verify is it up to date as deemed necessary
 ... ...
 </file> </file>
Ligne 525: Ligne 520:
  
 <file> <file>
-[WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated) 
 [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated) [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated)
 [WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - /var/lib/docker (Automated) [WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - /var/lib/docker (Automated)
Ligne 540: Ligne 534:
 Ces avertissements sont présents parce que **auditd** n'est pas installé et parce qu'il n'y a pas de règles spécifiques au daemon Docker et ses répertoires et fichiers associés.  Ces avertissements sont présents parce que **auditd** n'est pas installé et parce qu'il n'y a pas de règles spécifiques au daemon Docker et ses répertoires et fichiers associés. 
  
-Editez le fichier **/etc/apt/sources.list** :+Editez le fichier **/etc/apt/sources.list** selon l'exemple suivant :
  
 <code> <code>
Ligne 553: Ligne 547:
 </code> </code>
  
-Exécutez la commande **apt-update**:+Exécutez la commande **apt-update** :
  
 <code> <code>
Ligne 578: Ligne 572:
 <code> <code>
 root@manager:~/docker-bench-security# vi /etc/audit/rules.d/audit.rules root@manager:~/docker-bench-security# vi /etc/audit/rules.d/audit.rules
 +
 root@manager:~/docker-bench-security# cat /etc/audit/rules.d/audit.rules root@manager:~/docker-bench-security# cat /etc/audit/rules.d/audit.rules
 ## First rule - delete all ## First rule - delete all
Ligne 730: Ligne 725:
 ====[WARN] 2.15 - Ensure live restore is enabled (Scored)==== ====[WARN] 2.15 - Ensure live restore is enabled (Scored)====
  
-The --live-restore option enables full support of daemon-less containers within Docker. It ensures that Docker does not stop containers on shutdown or restore and that it properly reconnects to the container when restarted.+L'option --live-restore permet une prise en charge complète des conteneurs sans démon dans Docker. Elle garantit que Docker n'arrête pas les conteneurs lors de l'arrêt ou de la restauration et qu'il se reconnecte correctement au conteneur lors du redémarrage.
  
 ====[WARN] 2.16 - Ensure Userland Proxy is Disabled (Scored)==== ====[WARN] 2.16 - Ensure Userland Proxy is Disabled (Scored)====
Ligne 749: Ligne 744:
 <code> <code>
 root@manager:~/docker-bench-security# vi /etc/docker/daemon.json root@manager:~/docker-bench-security# vi /etc/docker/daemon.json
 +
 root@manager:~/docker-bench-security# cat /etc/docker/daemon.json root@manager:~/docker-bench-security# cat /etc/docker/daemon.json
 { {
Ligne 776: Ligne 772:
  
 <code> <code>
-root@manager:~# cd docker-bench-security/ 
 root@manager:~/docker-bench-security# ./docker-bench-security.sh  root@manager:~/docker-bench-security# ./docker-bench-security.sh 
 ... ...
Ligne 1026: Ligne 1021:
  
 Cet avertissement est du au fait que les conteneurs ont automatiquement accès à la totalité de la RAM de l'hôte Docker : Cet avertissement est du au fait que les conteneurs ont automatiquement accès à la totalité de la RAM de l'hôte Docker :
 +
 +<code>
 +root@manager:~# docker run -d -p 8081:80 nginx
 +b04b2a6f0dd93da21a8b7640afc319406e42868a141f90936dbcf52ab5bffb0d
 +root@manager:~# docker stats
 +CONTAINER ID        NAME                 CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
 +b04b2a6f0dd9        dazzling_blackburn   0.00%               1.789MiB / 1.957GiB   0.09%               2.38kB / 0B         0B / 0B             2
 +^C
 +</code>
 +
 +Supprimez le conteneur et re-créez le avec une limite de mémoire :
  
 <code> <code>
Ligne 1050: Ligne 1056:
 </code> </code>
  
-Supprimez le conteneur et re-créez le avec une limite de mémoire :+Supprimez le conteneur et re-créez-le avec une limite de mémoire :
  
 <code> <code>
Ligne 1088: Ligne 1094:
  
 <code> <code>
-root@manager:~/docker-bench-security# docker exec mysql touch /write_a_file+root@manager:~/docker-bench-security# docker container exec mysql touch /write_a_file
 </code> </code>
  
-La Commande **docker diff** indique les différences apportées au conteneur par rapport à l'image dont il est issu :+La Commande **docker container diff** indique les différences apportées au conteneur par rapport à l'image dont il est issu :
  
 <code> <code>
Ligne 1129: Ligne 1135:
  
 <code> <code>
-root@manager:~/docker-bench-security# docker exec mysql touch /write_a_file+root@manager:~/docker-bench-security# docker container exec mysql touch /write_a_file
 touch: cannot touch '/write_a_file': Read-only file system touch: cannot touch '/write_a_file': Read-only file system
 </code> </code>
Ligne 1140: Ligne 1146:
  
 <code> <code>
-root@manager:~/docker-bench-security# docker diff mysql +root@manager:~/docker-bench-security# docker container diff mysql 
-root@manager:~/docker-bench-security#  +root@manager:~/docker-bench-security# 
 </code> </code>
  
Ligne 1150: Ligne 1156:
 ====[WARN] 5.14 - Ensure that the 'on-failure' container restart policy is set to '5' (Automated)==== ====[WARN] 5.14 - Ensure that the 'on-failure' container restart policy is set to '5' (Automated)====
  
-Cet avertissement concerne la politique de re-démarrage du conteneur. La politique **on-failure[:max-retries]** implique que le conteneur est re-démarré en cas d'arrêt du à une erreur qui se manifeste en tant que code de retour autre que zéro. La valeur de **max-retries** est le nombre de fois que Docker va essayer de re-démarrer le conteneur. Cette politique peut être mise en place au démarrage du conteneur, **par exemple** :+Cet avertissement concerne la politique de re-démarrage du conteneur. La politique **on-failure[:max-retries]** implique que le conteneur est re-démarré en cas d'arrêt du à une erreur qui se manifeste en tant que code de retour autre que zéro. La valeur de **max-retries** est le nombre de fois que Docker va essayer de re-démarrer le conteneur. Cette politique peut être mise en place au démarrage du conteneur, par exemple :
  
-  # docker run -d --name mysql --read-only --restart on-failure:5 -v /var/lib/mysql -v /tmp -v /var/run/mysqld -e MYSQL_ROOT_PASSWORD=password mysql+  # docker container run -d --name mysql --read-only --restart on-failure:5 -v /var/lib/mysql -v /tmp -v /var/run/mysqld -e MYSQL_ROOT_PASSWORD=password mysql
  
 Pour plus d'informations, consultez cette **[[https://docs.docker.com/config/containers/start-containers-automatically/|page]]**. Pour plus d'informations, consultez cette **[[https://docs.docker.com/config/containers/start-containers-automatically/|page]]**.
Ligne 1160: Ligne 1166:
 Voir l'avertissement 4.6. Voir l'avertissement 4.6.
  
-====5.28 - Ensure that the PIDs cgroup limit is used (Automated)====+====[WARN] 5.28 - Ensure that the PIDs cgroup limit is used (Automated)====
  
-Sans l'utilisation de l'option **--pids-limit** un conteneur pourrait être victime d'une attaque de type **[[https://fr.wikipedia.org/wiki/Fork_bomb|Fork Bomb]]**, un type spécifique de dénie de service. Ce type d'attaque peut faire crasher l'hôte Docker et le seul remède est de re-démarrer l'hôte. Voici **un exemple** d'un Fork Bomb (**NE PAS** exécuter la commande suivante) :+Sans l'utilisation de l'option **--pids-limit** un conteneur pourrait être victime d'une attaque de type **[[https://fr.wikipedia.org/wiki/Fork_bomb|Fork Bomb]]**, un type spécifique de dénie de service. Ce type d'attaque peut faire crasher l'hôte Docker et le seul remède est de re-démarrer l'hôte. Voici un exemple d'un Fork Bomb :
  
 <code> <code>
-# docker run -u 1000 ubuntu bash -c ":() { : | : & }; :; while [[ true ]]; do sleep 1; done"+root@manager:~/docker-bench-security# docker run -u 1000 ubuntu bash -c ":() { : | : & }; :; while [[ true ]]; do sleep 1; done"
 </code> </code>
  
-L'hôte Docker **manager** crash.  +L'hôte Docker **manager** crash. Après avoir re-démarrer la machine virtuelle, créez de nouveau le conteneur en utilisant l'option **--pids-limit** :
- +
-Pour éviter ceci, créez un conteneur en utilisant l'option **--pids-limit** :+
  
 <code> <code>
Ligne 1458: Ligne 1462:
 <code> <code>
 root@manager:~# mkdir nottrusted root@manager:~# mkdir nottrusted
 +
 root@manager:~# cd nottrusted/ root@manager:~# cd nottrusted/
 +
 root@manager:~/nottrusted# vi Dockerfile root@manager:~/nottrusted# vi Dockerfile
 +
 root@manager:~/nottrusted# cat Dockerfile root@manager:~/nottrusted# cat Dockerfile
 FROM docker/trusttest:latest FROM docker/trusttest:latest
Ligne 1519: Ligne 1526:
 <code> <code>
 root@manager:~/nottrusted# docker tag <votre_compte>/docker:nottrusted <votre_compte>/otherimage:latest root@manager:~/nottrusted# docker tag <votre_compte>/docker:nottrusted <votre_compte>/otherimage:latest
 +
 root@manager:~/nottrusted# docker images root@manager:~/nottrusted# docker images
 REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
Ligne 1712: Ligne 1720:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 50%>
 **Important** : Il existe un autre mécanisme de signatures cryptographiques qui permet de certifier le contenu des images mises à disposition sur une Registry. Appelé **Notary**, ce système a été développé par la communauté Docker et intègre une partie de la spécification de **[[https://theupdateframework.io/|The Update Framework]]** (TUF). Pour plus d'informations, consultez cet **[[https://blog.octo.com/la-signature-dimages-docker-sur-une-registry-avec-notary/#:~:text=Notary%20est%20un%20m%C3%A9canisme%20de,environnement%20de%20production%20par%20exemple|article]]**. **Important** : Il existe un autre mécanisme de signatures cryptographiques qui permet de certifier le contenu des images mises à disposition sur une Registry. Appelé **Notary**, ce système a été développé par la communauté Docker et intègre une partie de la spécification de **[[https://theupdateframework.io/|The Update Framework]]** (TUF). Pour plus d'informations, consultez cet **[[https://blog.octo.com/la-signature-dimages-docker-sur-une-registry-avec-notary/#:~:text=Notary%20est%20un%20m%C3%A9canisme%20de,environnement%20de%20production%20par%20exemple|article]]**.
 </WRAP> </WRAP>
Ligne 1831: Ligne 1839:
 </code> </code>
  
-Modifiez l'entrée pour l'adresse 10.0.2.61 dans le fichier **/etc/hosts** du manager :+Modifiez l'entrée pour l'adresse 10.0.2.45 dans le fichier **/etc/hosts** du manager :
  
 <code> <code>
Ligne 1837: Ligne 1845:
 root@manager:~# cat /etc/hosts root@manager:~# cat /etc/hosts
 127.0.0.1 localhost 127.0.0.1 localhost
-10.0.2.60 debian9.i2tch.loc debian9 +10.0.2.46 debian11.i2tch.loc debian11 
-10.0.2.61 myregistry.i2tch.loc    myregistry+10.0.2.45 myregistry.i2tch.loc    myregistry
 10.0.2.62 manager.i2tch.loc manager 10.0.2.62 manager.i2tch.loc manager
 10.0.2.63 worker1.i2tch.loc worker1 10.0.2.63 worker1.i2tch.loc worker1
Ligne 1995: Ligne 2003:
 ====9.5 - Configuration du Client==== ====9.5 - Configuration du Client====
  
-Transférez ensuite le certificat du CA ainsi que le certificat et la clef privée du client vers la VM **debian91** :+Transférez ensuite le certificat du CA ainsi que le certificat et la clef privée du client vers la VM **10.0.2.45** :
  
 <code> <code>
-root@manager:~# scp ca.pem key.pem cert.pem trainee@10.0.2.61:/home/trainee/ +root@manager:~# scp ca.pem key.pem cert.pem trainee@10.0.2.45:/home/trainee/ 
-The authenticity of host '10.0.2.61 (10.0.2.61)' can't be established.+The authenticity of host '10.0.2.45 (10.0.2.45)' can't be established.
 ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE. ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE.
 Are you sure you want to continue connecting (yes/no)? yes Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added '10.0.2.61' (ECDSA) to the list of known hosts. +Warning: Permanently added '10.0.2.45' (ECDSA) to the list of known hosts. 
-trainee@10.0.2.61's password: +trainee@10.0.2.45's password: trainee
 ca.pem                                                                                                                                 100% 2163   917.8KB/  00:00     ca.pem                                                                                                                                 100% 2163   917.8KB/  00:00    
 key.pem                                                                                                                                100% 3243     3.0MB/  00:00    key.pem                                                                                                                                100% 3243     3.0MB/  00:00   
Ligne 2009: Ligne 2017:
 </code> </code>
  
-Lancez la commande **docker version** sur la VM **debian91** :+Lancez la commande **docker version** sur la VM **10.0.2.45** :
  
 <code> <code>
Ligne 2064: Ligne 2072:
 </code> </code>
  
-Maintenant la connection est sécurisée par défaut :+Maintenant la connexion est sécurisée par défaut :
  
 <code> <code>
Ligne 2082: Ligne 2090:
 ----- -----
  
-Copyright © 2023 Hugh Norris.+Copyright © 2024 Hugh Norris.
Menu