Die private Registrierung funktionierte gut basierend auf Docker 1.10.3, aber ich kann keine Bilder ziehen / pushen, nachdem der Docker auf 1.12.0 aktualisiert wurde.
Ich hatte die Datei / etc / sysconfig / docker wie folgt geändert:
OPTIONS='--selinux-enabled=true --insecure-registry=myip:5000'
oder
OPTIONS='--selinux-enabled=true --insecure-registry myip:5000'
Aber wenn ich Pull / Push ausführe, wird folgende Fehlermeldung angezeigt:
$ docker pull myip:5000/cadvisor
Using default tag: latest
Error response from daemon: Get https://myip:5000/v1/_ping: http: server gave HTTP response to HTTPS client
Wenn ich Docker auf 1.10.3 zurücksetze, funktioniert es immer noch wie folgt:
$ docker pull myip:5000/cadvisor
Using default tag: latest
Trying to pull repository myip:5000/cadvisor ...
latest: Pulling from myip:5000/cadvisor
09d0220f4043: Pull complete
a3ed95caeb02: Pull complete
151807d34af9: Pull complete
14cd28dce332: Pull complete
Digest:
sha256:33b6475cd5b7646b3748097af1224de3eee3ba7cf5105524d95c0cf135f59b47
Status: Downloaded newer image for myip/cadvisor:latest
Einige relative Informationen sind unten aufgeführt:
docker version
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built:
OS/Arch: linux/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built:
OS/Arch: linux/amd64
docker info
Containers: 4
Running: 1
Paused: 0
Stopped: 3
Images: 241
Server Version: 1.12.0
Storage Driver: devicemapper
Pool Name: docker-253:0-6809-pool
Pool Blocksize: 65.54 kB
Base Device Size: 107.4 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 5.459 GB
Data Space Total: 107.4 GB
Data Space Available: 34.74 GB
Metadata Space Used: 9.912 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.138 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use '--storage-opt dm.thinpooldev' to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host overlay null bridge
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 62.39 GiB
Name: server_3
ID: TITS:BL4B:M5FE:CIRO:5SW6:TVIV:HW36:J7OS:WLHF:46T6:2RBA:WCNV
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 21
Goroutines: 32
System Time: 2016-08-02T10:33:06.414048675+08:00
EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
docker exec <registry-container> registry -version
registry github.com/docker/distribution v2.2.1
Nachdem ich den Docker-Daemon im Debug-Modus neu gestartet habe, werden die Daemon-Protokolle beim Reproduzieren meines Problems unten aufgeführt:
DEBU[0794] Calling POST /v1.24/images/create?fromImage=10.10.10.40%3A5000%2Fcadvisor&tag=latest
DEBU[0794] hostDir: /etc/docker/certs.d/10.10.10.40:5000
DEBU[0794] hostDir: /etc/docker/certs.d/10.10.10.40:5000
DEBU[0794] Trying to pull 10.10.10.40:5000/cadvisor from https://10.10.10.40:5000 v2
WARN[0794] Error getting v2 registry: Get https://10.10.10.40:5000/v2/: http: server gave HTTP response to HTTPS client
ERRO[0794] Attempting next endpoint for pull after error: Get https://10.10.10.40:5000/v2/: http: server gave HTTP response to HTTPS client
DEBU[0794] Trying to pull 10.10.10.40:5000/cadvisor from https://10.10.10.40:5000 v1
DEBU[0794] hostDir: /etc/docker/certs.d/10.10.10.40:5000
DEBU[0794] attempting v1 ping for registry endpoint https://10.10.10.40:5000/v1/
DEBU[0794] Fallback from error: Get https://10.10.10.40:5000/v1/_ping: http: server gave HTTP response to HTTPS client
ERRO[0794] Attempting next endpoint for pull after error: Get https://10.10.10.40:5000/v1/_ping: http: server gave HTTP response to HTTPS client
ERRO[0794] Handler for POST /v1.24/images/create returned error: Get https://10.10.10.40:5000/v1/_ping: http: server gave HTTP response to HTTPS client
DEBU[1201] clean 2 unused exec commands
Außerdem führe ich einfach einen einfachen Befehl aus, um die private Registrierung zum Testen zu starten. Alles andere ist standardmäßig:
docker run -d -p 5000:5000 --restart=always --name registry -v 'pwd'/data:/var/lib/registry registry:2
Es ist kein Proxy konfiguriert. Zusammenfassend ist es nur eine ruhige Beispielumgebung zum Testen.
quelle
Antworten:
Ich hatte das gleiche Problem.
Das hat mir geholfen:
Erstellen oder ändern Sie /etc/docker/daemon.json auf dem Clientcomputer
{ "insecure-registries":["myregistry.example.com:5000"] }
Starten Sie den Docker-Daemon neu
sudo /etc/init.d/docker restart
quelle
/etc/docker/daemon.json
Datei erstellen , falls nicht vorhanden. Speziell fürUbuntu 16.04
Für Windows-Benutzer
Fügen Sie hier die lokale Registrierung hinzu und bewerben Sie sich:
quelle
Für Mac-Benutzer: Aktualisieren Sie die Docker-Einstellungen mithilfe des Symbols (Docker) in der oberen Leiste
Einstellungen -> Daemon -> Unsichere Registrierung [Klicken Sie auf (+) Zeichen] -> Hinzufügen: Port
Klicken Sie unten auf "Übernehmen und neu starten"
quelle
Ich hatte auch das gleiche Problem und befolgte die folgenden Schritte:
1. Datei erstellen
2. Fügen Sie den folgenden Inhalt hinzu
3. Starten Sie Docker neu
quelle
Wenn Sie Windows verwenden und diese Fehlermeldung erhalten, müssen Sie hier eine Datei erstellen:
"C:\ProgramData\docker\config\daemon.json"
und machen Sie dasselbe wie oben erwähntes @Bspec:
{"unsichere Registrierungen": ["myregistry.example.com:5000"]}
Starten Sie dann Docker mit PowerShell-Befehlen neu:
quelle
Das Ändern von "/etc/docker/daemon.json" hat bei mir nicht funktioniert.
Das Einfügen unter "/ etc / sysconfig / docker" wie unten hat funktioniert.
INSECURE_REGISTRY = "- unsichere Registrierung 192.168.24.1:8787"
quelle
--insecure-registry
Option gezeigt haben. In meinem Fall war es sogar eine andere Datei,/etc/systemd/system/docker.service.d/docker-options.conf
weil ich Kubespray verwende. Also für andere: Sie müssen IhrenDOCKER_OPTS
Parameter finden. Verwenden Sie einfach diese Suche:grep -ER DOCKER_OPTS /etc
über/etc
Verzeichnis. In meinem speziellen Fall, um Einstellungen wirksam ich tatsystemctl daemon-reload
,systemctl restart docker
undps -ef | grep dockerd
auf Ubuntu.Fügen Sie zum Push die IP-Adresse zur unsicheren Registrierung auf der Clientseite hinzu (z. B. für Windows).
Fügen Sie es zum Ziehen zur Serverseite hinzu (in diesem Fall Ubuntu).
und starten Sie Docker neu.
quelle