Envoyer la liste de manifestes à un registre non sécurisé
Dans cette étape, nous allons explorer comment envoyer une liste de manifestes à un registre non sécurisé. Un registre non sécurisé est un registre qui n'utilise pas de certificats TLS/SSL. Bien que cela ne soit pas recommandé pour les environnements de production, cela peut être utile pour les tests ou les réseaux internes.
Par défaut, Docker exige des connexions sécurisées aux registres. Pour envoyer des données à un registre non sécurisé, vous devez configurer le démon Docker pour autoriser les connexions non sécurisées à l'adresse spécifique de ce registre.
Pour ce laboratoire, nous allons simuler un registre non sécurisé en utilisant un registre local qui fonctionne sans TLS. Tout d'abord, lançons un conteneur de registre local. Nous allons mapper le port 5000 de l'hôte sur le port 5000 du conteneur.
docker run -d -p 5000:5000 --name registry registry:2
Vous devriez voir un affichage similaire à celui-ci, indiquant que le conteneur est en cours d'exécution :
Unable to find image 'registry:2' locally
2: Pulling from library/registry
...
Status: Downloaded newer image for registry:2
a1b2c3d4e5f6...
Maintenant, nous devons configurer le démon Docker pour faire confiance à ce registre non sécurisé à l'adresse localhost:5000
. Cela nécessite de modifier le fichier de configuration du démon Docker. L'emplacement de ce fichier peut varier, mais sur la plupart des systèmes Linux, il s'agit de /etc/docker/daemon.json
.
Nous allons utiliser sudo nano
pour éditer ce fichier.
sudo nano /etc/docker/daemon.json
Si le fichier n'existe pas, vous pouvez le créer. Ajoutez ou modifiez la clé insecure-registries
pour inclure localhost:5000
. Le contenu du fichier devrait ressembler à ceci :
{
"insecure-registries": ["localhost:5000"]
}
Enregistrez le fichier et quittez l'éditeur (Ctrl+X, Y, Entrée dans nano).
Après avoir modifié la configuration, vous devez redémarrer le démon Docker pour que les modifications prennent effet.
sudo systemctl restart docker
Maintenant, vous pouvez étiqueter la liste de manifestes avec l'adresse du registre non sécurisé et l'envoyer. Nous allons utiliser la liste de manifestes my-alpine:latest
créée à la première étape.
docker manifest create localhost:5000/my-alpine:latest alpine:latest arm64v8/alpine:latest
docker manifest push localhost:5000/my-alpine:latest
Vous devriez voir un affichage indiquant que l'envoi a réussi, même si le registre n'est pas sécurisé.
Pushed manifest list localhost:5000/my-alpine:latest
Cela démontre comment envoyer une liste de manifestes à un registre non sécurisé après avoir configuré le démon Docker.