Pushen der Manifestliste an eine unsichere Registrierung (Registry)
In diesem Schritt werden wir untersuchen, wie man eine Manifestliste an eine unsichere Registrierung pusht. Eine unsichere Registrierung ist eine Registrierung, die keine TLS/SSL-Zertifikate verwendet. Dies wird für Produktionsumgebungen nicht empfohlen, kann aber für Tests oder interne Netzwerke nützlich sein.
Standardmäßig erfordert Docker sichere Verbindungen zu Registrierungen. Um an eine unsichere Registrierung zu pushen, müssen Sie den Docker-Daemon so konfigurieren, dass er unsichere Verbindungen zu dieser bestimmten Registrierungsadresse zulässt.
Für dieses Lab werden wir eine unsichere Registrierung simulieren, indem wir eine lokale Registrierung ohne TLS ausführen. Zunächst starten wir einen lokalen Registrierungscontainer. Wir leiten Port 5000 auf dem Host auf Port 5000 im Container weiter.
docker run -d -p 5000:5000 --name registry registry:2
Sie sollten eine Ausgabe ähnlich dieser sehen, die anzeigt, dass der Container läuft:
Unable to find image 'registry:2' locally
2: Pulling from library/registry
...
Status: Downloaded newer image for registry:2
a1b2c3d4e5f6...
Jetzt müssen wir den Docker-Daemon so konfigurieren, dass er diese unsichere Registrierung unter localhost:5000
vertraut. Dazu müssen Sie die Docker-Daemon-Konfigurationsdatei ändern. Der Speicherort dieser Datei kann variieren, aber auf den meisten Linux-Systemen ist es /etc/docker/daemon.json
.
Wir verwenden sudo nano
, um diese Datei zu bearbeiten.
sudo nano /etc/docker/daemon.json
Wenn die Datei nicht existiert, können Sie sie erstellen. Fügen Sie den Schlüssel insecure-registries
hinzu oder ändern Sie ihn, um localhost:5000
einzuschließen. Der Dateiinhalt sollte wie folgt aussehen:
{
"insecure-registries": ["localhost:5000"]
}
Speichern Sie die Datei und verlassen Sie den Editor (Ctrl+X, Y, Enter in nano).
Nachdem Sie die Konfiguration geändert haben, müssen Sie den Docker-Daemon neu starten, damit die Änderungen wirksam werden.
sudo systemctl restart docker
Jetzt können Sie die Manifestliste mit der Adresse der unsicheren Registrierung taggen und pushen. Wir verwenden die im ersten Schritt erstellte Manifestliste my-alpine:latest
.
docker manifest create localhost:5000/my-alpine:latest alpine:latest arm64v8/alpine:latest
docker manifest push localhost:5000/my-alpine:latest
Sie sollten eine Ausgabe sehen, die anzeigt, dass das Pushen erfolgreich war, auch wenn die Registrierung unsicher ist.
Pushed manifest list localhost:5000/my-alpine:latest
Dies zeigt, wie man eine Manifestliste an eine unsichere Registrierung pusht, nachdem der Docker-Daemon konfiguriert wurde.