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:drf02 [2023/12/10 17:46] adminelearning:workbooks:docker3:drf02 [2024/02/21 13:41] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2022.01**+Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 28: Ligne 28:
       * 3.1 - Créer un Registre local,       * 3.1 - Créer un Registre local,
       * 3.2 - Créer un Serveur de Registre Dédié       * 3.2 - Créer un Serveur de Registre Dédié
-        * Configurer le clone comme Registre Dédié 
         * Configurer le Client         * Configurer le Client
  
Ligne 1355: Ligne 1354:
 Actuellement, le registre privé créé ci-dessus n'est pas accessible à partir du réseau local car il est référencé par localhost. Il convient donc maintenant de mettre en place un serveur dédié. Actuellement, le registre privé créé ci-dessus n'est pas accessible à partir du réseau local car il est référencé par localhost. Il convient donc maintenant de mettre en place un serveur dédié.
  
-Connectez-vous à la VM Debian_9_1 :+Connectez-vous à la VM **CentOS_10.0.2.45_SSH** à partir de votre VM **Debian_10.0.2.46_SSH** :
  
 <code> <code>
-trainee@traineeXX:~ssh -l trainee 10.0.2.61+root@debian11:~ssh -l trainee 10.0.2.45 
 +trainee@10.0.2.45's password: trainee 
 +Activate the web console with: systemctl enable --now cockpit.socket 
 + 
 +Last login: Wed Nov 15 05:24:16 2023 from 10.0.2.1 
 +[trainee@centos8 ~]$
 </code> </code>
  
-En tant que root, modifiez le nom d'hôte de la machine :+Devenez root :
  
 <code> <code>
-trainee@debian91:~$ su - +[trainee@centos8 ~]$ su - 
-Mot de passe : fenestros +Password: fenestros 
-root@debian91:~# nmcli general hostname myregistry.i2tch.loc +[root@centos8 ~]
-root@debian91:~# hostname +
-myregistry.i2tch.loc+
 </code> </code>
  
-Installez Docker :+Modifiez le nom d'hôte de la machine :
  
 <code> <code>
-root@debian91:~# apt-get update +[root@centos8 ~]nmcli general hostname myregistry.i2tch.loc 
-root@debian91:~# apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common +[root@centos8 ~]hostname 
-root@debian91:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - +myregistry.i2tch.loc
-root@debian91:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" +
-root@debian91:~# apt-get update +
-root@debian91:~# apt-get install docker-ce+
 </code> </code>
  
Ligne 1385: Ligne 1384:
  
 <code> <code>
-root@debian91:~# vi /etc/hosts +[root@centos8 ~]# vi /etc/hosts 
-root@debian91:~# cat /etc/hosts +[root@centos8 ~]# cat /etc/hosts 
-127.0.0.1 localhost +127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
-10.0.2.60 debian9.i2tch.loc debian9 +::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
-10.0.2.61 myregistry.i2tch.loc    myregistry +10.0.2.45       myregistry.i2tch.loc 
-10.0.2.62 manager.i2tch.loc manager +10.0.2.46       debian11.i2tch.loc
-10.0.2.63 worker1.i2tch.loc worker1 +
-10.0.2.64 worker2.i2tch.loc worker2 +
- +
-# The following lines are desirable for IPv6 capable hosts +
-::1     localhost ip6-localhost ip6-loopback +
-ff02::1 ip6-allnodes +
-ff02::2 ip6-allrouters+
 </code> </code>
  
Ligne 1403: Ligne 1395:
  
 <code> <code>
-root@debian91:~# cd / && mkdir certs && openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt +[root@centos8 ~]# cd / 
-Generating a 4096 bit RSA private key + 
-............................................................++ +[root@centos8 /]# vi myconfig.cnf  
-.......................................................................................................................................+++ 
 +[root@centos8 /]# cat myconfig.cnf  
 +[ req ] 
 +distinguished_name = dn 
 +x509_extensions = extensions 
 +prompt = no 
 + 
 +[ extensions ] 
 +subjectAltName = DNS:i2tch.loc,DNS:myregistry.i2tch.loc 
 + 
 +[ dn ] 
 +0.DC = loc  
 +1.DC = i2tch  
 +commonName = i2tch.loc 
 + 
 +[root@centos8 ~]# mkdir certs && openssl req -config myconfig.cnf -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt 
 +Generating a RSA private key 
 +...............................................................................................................................................................................................++++ 
 +......++++
 writing new private key to 'certs/domain.key' writing new private key to 'certs/domain.key'
 ----- -----
-You are about to be asked to enter information that will be incorporated + 
-into your certificate request. +[root@centos8 /]# ls certs/
-What you are about to enter is what is called a Distinguished Name or a DN. +
-There are quite a few fields but you can leave some blank +
-For some fields there will be a default value, +
-If you enter '.', the field will be left blank. +
------ +
-Country Name (2 letter code) [AU]:FR +
-State or Province Name (full name) [Some-State]:VAR +
-Locality Name (eg, city) []:Toulon +
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:I2TCH LTD +
-Organizational Unit Name (eg, section) []:TRAINING +
-Common Name (e.g. server FQDN or YOUR name) []:myregistry +
-Email Address []: +
-root@registry:/# ls certs/+
 domain.crt  domain.key domain.crt  domain.key
 </code> </code>
  
-Déconnectez-vous de la VM Debian_9_1 :+Déconnectez-vous de la VM **CentOS8_10.0.2.45_SSH** :
  
 <code> <code>
-root@debian91:~# exit +[root@centos8 /]# exit 
-trainee@debian91:~$ exit+logout 
 +[trainee@centos8 ~]$ exit 
 +logout 
 +Connection to 10.0.2.45 closed. 
 +root@debian11:~#
 </code> </code>
  
-Connectez-vous à la VM Debian_9_1 :+Re-connectez-vous à la VM **CentOS8_10.0.2.45_SSH** :
  
 <code> <code>
-trainee@traineeXX:~ssh -l trainee 10.0.2.61+root@debian11:~ssh -l trainee 10.0.2.45 
 +trainee@10.0.2.45's password: trainee 
 +Activate the web console with: systemctl enable --now cockpit.socket 
 + 
 +Last login: Fri Dec 15 01:07:37 2023 from 10.0.2.46 
 +[trainee@centos8 ~]$ 
 +</code> 
 + 
 +Devenez root : 
 + 
 +<code> 
 +[trainee@myregistry ~]$ su - 
 +Password: fenestros 
 +[root@myregistry ~]# 
 </code> </code>
  
Ligne 1443: Ligne 1457:
  
 <code> <code>
-root@registry:/# docker run -d -p 5000:5000 --name registry -v /certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:2.0 +[root@myregistry ~]# docker run -d -p 5000:5000 --name registry -v /certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:latest 
-943c01b67cf3f461270a55ac3d9df6622cc9d74e5f272e17153183ff29ee5932+Unable to find image 'registry:latest' locally 
 +latest: Pulling from library/registry 
 +c926b61bad3b: Pull complete  
 +5501dced60f8: Pull complete  
 +e875fe5e6b9c: Pull complete  
 +21f4bf2f86f9: Pull complete  
 +98513cca25bb: Pull complete  
 +Digest: sha256:0a182cb82c93939407967d6d71d6caf11dcef0e5689c6afe2d60518e3b34ab86 
 +Status: Downloaded newer image for registry:latest 
 +bf0d4fe9fcb121f9c2d9e85b8f2bb54b01397602ef0dcefdfc71327acf832fec
  
-root@registry:/# docker ps -a +[root@myregistry ~]# docker ps -a 
-CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                    NAMES +CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS                    PORTS                                       NAMES 
-943c01b67cf3        registry:2.0        "registry cmd/regi..."   31 seconds ago      Up 24 seconds                 0.0.0.0:5000->5000/tcp   registry+bf0d4fe9fcb1   registry:latest   "/entrypoint.sh /etc…  47 seconds ago   Up 44 seconds             0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry 
 +90267aac9800   hello-world       "/hello"                 15 hours ago     Exited (0) 15 hours ago                                               eloquent_chatelet
 </code> </code>
  
-Envoyez une copie du fichier **/certs/domain.crt** vers le répertoire /tmp de la machine virtuelle **Debian_9** en le renommant **ca.crt** :+Envoyez une copie du fichier **/certs/domain.crt** vers le répertoire /tmp de la machine virtuelle **Debian11_10.0.2.46** en le renommant **ca.crt** :
  
 <code> <code>
-root@registry:~# scp /certs/domain.crt trainee@10.0.2.60:/tmp/ca.crt +[root@myregistry ~]# scp /certs/domain.crt trainee@10.0.2.46:/tmp/ca.crt 
-The authenticity of host '10.0.2.60 (10.0.2.60)' can't be established. +The authenticity of host '10.0.2.46 (10.0.2.46)' can't be established. 
-ECDSA key fingerprint is 79:00:60:0e:2b:71:5e:cb:1a:08:45:e8:ab:45:b8:dd+ECDSA key fingerprint is SHA256:JFem/0UXFw0aDAOSfOS3vsOGsSDl1wPOza6ybTGO7/8
-Are you sure you want to continue connecting (yes/no)? yes +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 
-Warning: Permanently added '10.0.2.60' (ECDSA) to the list of known hosts. +Warning: Permanently added '10.0.2.46' (ECDSA) to the list of known hosts. 
-trainee@10.0.2.60's password: trainee +trainee@10.0.2.46's password:  
-domain.crt                                                                                                                            100% 2017     2.0KB/s   00:00  +domain.crt                                                                                                                                                                  100% 2053     2.9MB/s   00:00   
 </code> </code>
  
 ===Configurer le Client=== ===Configurer le Client===
  
-Sortez de la VM **debian91** et connectez-vous à la VM debian9 :+Sortez de la VM **CentOS8_10.0.2.45_SSH** :
  
 <code> <code>
-trainee@traineeXX:~$ ssh -l trainee 10.0.2.60 +[root@myregistry ~]# exit 
-</code> +logout 
- +[trainee@myregistry ~]exit 
-Passez en tant que **root** : +logout 
- +Connection to 10.0.2.45 closed. 
-<code> +root@debian11:~#
-trainee@debian9:~$ su - +
-Mot de passe : fenestros +
-root@debian9:~#+
 </code> </code>
  
Ligne 1482: Ligne 1503:
  
 <code> <code>
-root@debian9:~# docker rm -f registry+root@debian11:~# docker rm -f registry
 registry registry
- 
-root@debian9:~# docker ps -a 
-CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES 
-21b0490a93dd        i2tch/mydocker      "/entrypoint.sh my..."   4 hours ago         Exited (137) 4 hours ago                       myDocker 
 </code> </code>
  
Ligne 1493: Ligne 1510:
  
 <code> <code>
-root@debian9:~# docker rmi registry:2.0 +root@debian11:~# docker rmi registry:latest 
-Untagged: registry:2.0 +Untagged: registry:latest 
-Untagged: registry@sha256:3cac1869696e4ff3435bbc30391749ac373f7471736dbb48dfa9bfde08c4efd2 +Untagged: registry@sha256:0a182cb82c93939407967d6d71d6caf11dcef0e5689c6afe2d60518e3b34ab86 
-Deleted: sha256:3bccd459597f38e78ce95a408e506099644ca713d79157d2f3e3a7975f1c9146 +Deleted: sha256:909c3ff012b7f9fc4b802b73f250ad45e4ffa385299b71fdd6813f70a6711792 
-Deleted: sha256:e486d081a2821af119adbc458214cacf510ebb519cdf31e04ac3d4c6ac521c31 +Deleted: sha256:577c3b283118ca6108a6a8c8a0a00eff666dec82c482dd239dfed49f31553df6 
-Deleted: sha256:d206757aba612d90965729f186dfb70aa5e63b53dafd7e7b20a76005acddfe24 +Deleted: sha256:2ba6acf6ed95c86cfb2c830693135513bc019a0c0cf8f2c58990bc215995699f 
-Deleted: sha256:1b953394add763fbaa50446b03d636f453fa75b2d12676ceb4b71681b4da6e7d +Deleted: sha256:65920463e77382a5cbe8da3e814c4449fc665487c8a9fa4ac27179e809f5ba2e 
-Deleted: sha256:e8a2cacb793cb843e35bbf64e9c73d685d83ecc8192fbdbc098b0e5fbcced848 +Deleted: sha256:54501ccbeaec2665849d200fc4a61ab7254ff0f3bd31ab673879fe321fa2ad7f 
-Deleted: sha256:19eec9bf8dcc3cb15b93cdcff717057444c540ee641cf20b7ef647d19b9d1df4 +Deleted: sha256:9fe9a137fd002363ac64f5af66146702432b638a83ee0c5b620c40a9e433e813
-Deleted: sha256:2fb6f2d834e4dd55a7a6bb1472f5c293242e6439982332143d7332642a238d40 +
-Deleted: sha256:e08b039d73e73f17b3fa02ebf9a28ef156a7b43b828cd67ed422b9d7a01e5482 +
-Deleted: sha256:bd85e070a996530cc5f576bc5f56a0e3a159e00091410987416844de6e018415 +
-Deleted: sha256:6269effe5aa88dfc0071a2841605d95c0d809111333b5044b2459b43e5879f44 +
-Deleted: sha256:784ff50f126370cb3be928cd14a078605990efda458e73ad43f2a2e40e1efda2 +
-Deleted: sha256:29efd197b6056e252ebb46fe1b315489c2f8e032eb32d1f6fcd0119ee9536df7 +
-Deleted: sha256:3d42e373d713bfab9403159f282ba4cfaa7b4f33e57d5e36d4d2ca0ca1a2f4e7 +
-Deleted: sha256:518c6772b2fc316c63e9f4f9745e3587f169ec916fd26749b0ce7bf1f36bb93b +
-Deleted: sha256:e74bff63859c2597691fffd6fe95b35b0803f6791bc6565072bf07067574dba3 +
-Deleted: sha256:f76baad394e6d835fa0e166254e9f70af873fe43232c67ac198a67865084ccee +
-Deleted: sha256:b0eba742532f664bab6fc6d5bd00c60141397ba299f6743457f7ead64d7c714d +
-Deleted: sha256:c10c49233bc62ce69aafa1a44a62d8639a7be08d68b1c23d6b25ebb13e5324b0 +
-Deleted: sha256:1c8e9ba14469736fa03ede127e47f5821ca97b3029385ec1348e87932c875ff8 +
-Deleted: sha256:611f5c9e21fce8d870f9ba82248980ca3baaaf95afef2b17504372d1ca03cb5a +
-Deleted: sha256:4cb1abe123254326dba72305ef897fdf5364ebb1823413e13dbced41990f951e +
-Deleted: sha256:e10e5ea91f007db418b284f4adc5f0b98f374d79ae52b9687b0d6d33865ffbcf +
-Deleted: sha256:c69ae1aa46985cbaf186b6354c61a1d2e0d6af47133db47bf04f0c6eb9c858e9 +
- +
-root@debian9:~# docker images +
-REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE +
-i2tch/mydocker          latest              c37edbd43993        5 hours ago         193MB +
-localhost:88/mydocker   latest              c37edbd43993        5 hours ago         193MB+
 </code> </code>
  
Ligne 1529: Ligne 1524:
  
 <code> <code>
-root@debian9:~# docker tag i2tch/mydocker myregistry:5000/mydocker +root@debian11:~# docker tag i2tch/mydocker myregistry.i2tch.loc:5000/mydocker 
-root@debian9:~# docker images + 
-REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE +root@debian11:~# docker images 
-i2tch/mydocker             latest              c37edbd43993        5 hours ago         193MB +REPOSITORY                           TAG       IMAGE ID       CREATED        SIZE 
-localhost:88/mydocker      latest              c37edbd43993        5 hours ago         193MB +testcache                            latest    5a36b1c7ec76   4 days ago     77.8MB 
-myregistry:5000/mydocker   latest              c37edbd43993        hours ago         193MB+<none>                               <none>    842ab4a40890   4 days ago     77.8MB 
 +i2tch/mydocker                       latest    c5a41438d278   4 days ago     231MB 
 +localhost:88/mydocker                latest    c5a41438d278   4 days ago     231MB 
 +myregistry.i2tch.loc:5000/mydocker   latest    c5a41438d278   4 days ago     231MB 
 +i2tch/mongodb2                       latest    56e5b1fb4284   4 days ago     352MB 
 +i2tch/mongodb1                       latest    72fad0b7e0c2   4 days ago     352MB 
 +ittraining/mongodb                   latest    fb3c6d5d186a   days ago     1.11GB 
 +ubuntu                               latest    b6548eacb063   2 weeks ago    77.8MB 
 +nginx                                latest    a6bd71f48f68   3 weeks ago    187MB 
 +hello-world                          latest    9c7a54a9a43c   7 months ago   13.3kB 
 +centos                               latest    5d0da3dc9764   2 years ago    231MB
 </code> </code>
  
-Editez le fichier **/etc/hosts** afin de pointer le 10.0.2.61 vers le nom **myregistry** :+Editez le fichier **/etc/hosts** afin de pointer le 10.0.2.45 vers le nom **myregistry.i2tch.loc** :
  
 <code> <code>
-root@debian9:~# vi /etc/hosts +root@debian11:~# vi /etc/hosts 
-root@debian9:~# cat /etc/hosts + 
-127.0.0.1 localhost +root@debian11:~# cat /etc/hosts 
-10.0.2.60 debian9.i2tch.loc debian9 +127.0.0.1       localhost 
-10.0.2.61 myregistry.i2tch.loc    myregistry +10.0.2.46       debian11.i2tch.loc      debian11 
-10.0.2.62 manager.i2tch.loc manager +10.0.2.45       myregistry.i2tch.loc    myregistry
-10.0.2.63 worker1.i2tch.loc worker1 +
-10.0.2.64 worker2.i2tch.loc worker2+
  
 # The following lines are desirable for IPv6 capable hosts # The following lines are desirable for IPv6 capable hosts
Ligne 1558: Ligne 1561:
  
 <code> <code>
-root@debian9:~# mkdir -p /etc/docker/certs.d/myregistry:5000 +root@debian11:~# mkdir -p /etc/docker/certs.d/myregistry:5000 
-root@debian9:~# mv /tmp/ca.crt /etc/docker/certs.d/myregistry:5000/+ 
 +root@debian11:~# mv /tmp/ca.crt /etc/docker/certs.d/myregistry:5000/ 
 +</code> 
 + 
 +Créez le fichier **/etc/docker/daemon.json** pour accepter le certificat auto-signé : 
 + 
 +<code> 
 +root@debian11:~# vi /etc/docker/daemon.json 
 + 
 +root@debian11:~# cat /etc/docker/daemon.json 
 +{"insecure-registries" : ["myregistry.i2tch.loc:5000"]} 
 +</code> 
 + 
 +Re-démarrez le service docker : 
 + 
 +<code> 
 +root@debian11:~# systemctl restart docker
 </code> </code>
  
Ligne 1565: Ligne 1584:
  
 <code> <code>
-root@debian9:~# curl http://myregistry:5000/v2/ +root@debian11:~# curl -k https://myregistry:5000/v2/ 
-+{}root@debian11:~#
 </code> </code>
  
Ligne 1572: Ligne 1591:
  
 <code> <code>
-root@debian9:~# docker push myregistry:5000/mydocker +root@debian11:~# docker push myregistry.i2tch.loc:5000/mydocker 
-The push refers to repository [myregistry:5000/mydocker] +Using default tag: latest 
-873a8ac77d4d: Pushed  +The push refers to repository [myregistry.i2tch.loc:5000/mydocker] 
-b362758f4793: Pushed  +f981bd64e799: Pushed  
-latest: digest: sha256:30866da81d92d2a1015b869c596ddd6e188f33894c41d8effa2161e5c2862b1f size: 5531+74ddd0ec08fa: Pushed  
 +latest: digest: sha256:32f7a11d8a8523bb5b4ac0986844d569ca96df4d1875e7e678a885ee3a3c61c3 size: 736
 </code> </code>
  
 ----- -----
  
-Copyright © 2023 Hugh Norris.+Copyright © 2024 Hugh Norris.
Menu