1.12 पर अपडेट डॉक करने के बाद छवियों को खींच / खींच नहीं सकते


86

डॉकटर 1.10.3 के आधार पर निजी रजिस्ट्री पर अच्छी तरह से काम किया गया था, लेकिन मैं 1.12.0 के लिए डॉकटर को अपडेट करने के बाद छवियों को खींच / धक्का नहीं दे सकता।

मैंने / etc / sysconfig / docker को संशोधित किया है:

OPTIONS='--selinux-enabled=true --insecure-registry=myip:5000'

या

OPTIONS='--selinux-enabled=true --insecure-registry myip:5000'

लेकिन जब मैं पुल / पुश निष्पादित करता हूं, मुझे यह त्रुटि मिली:

$ 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

जब मैं 1.10.3 पर वापस docker को बदलता हूं, तब भी यह नीचे की तरह काम करता है:

$ 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

कुछ रिश्तेदार जानकारी नीचे सूचीबद्ध हैं:

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

डीबग डेमॉन को डिबग मोड में फिर से शुरू करने के बाद, डेमन लॉग करता है जब मेरी समस्या को पुन: प्रस्तुत करता है नीचे सूचीबद्ध हैं:

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

क्या अधिक है, मैं सिर्फ टेस्ट के लिए निजी रजिस्ट्री लॉन्च करने के लिए एक साधारण कमांड चलाता हूं, कुछ भी डिफ़ॉल्ट रूप से है:

docker run -d -p 5000:5000 --restart=always --name registry -v 'pwd'/data:/var/lib/registry registry:2

कोई प्रॉक्सी कॉन्फ़िगर नहीं है। सारांश में, यह परीक्षण के लिए केवल एक शांत नमूना वातावरण है।


ठीक है, मैं भी एक ही त्रुटि का सामना करता हूं, लेकिन अजीब बात यह है कि मेरे पास RHEL 7 में / etc / sysconfig / docker फाइल है, क्या आपको कोई ऐसी ही फाइल पता है जो मुझे मिल सके? इस डॉकटर फ़ाइल की सामग्री क्या है? धन्यवाद।
साईं

इस फ़ाइल में कुछ विकल्प शामिल हैं यदि आप जिस तरह से docker daemon चलाता है उसे बदलना चाहते हैं। मुझे आरएचईएल 7 में सटीक रास्ता नहीं पता। लेकिन अगर आप "$ sudo do docker" कमांड के साथ निष्पादित करते हैं, तो आपको फ़ाइल कहीं न कहीं मिल जाएगी
yuxiaoyu

मैंने /etc/docker/daemon.json को हटाना समाप्त कर दिया और docker सेवा को फिर से शुरू कर दिया, ऐसा लग रहा है कि यह ओवरराइड कर रहा था कि कौन-सी / etc / sysconfig /
docker

MacOS उपयोगकर्ताओं के लिए यह उत्तर देखें: stackoverflow.com/a/39492340/706521
एड्रियन फोर्सियस

जवाबों:


222

मेरी भी यही समस्या थी।

इससे मुझे मदद मिली:

  • क्लाइंट मशीन पर /etc/docker/daemon.json बनाएँ या संशोधित करें

    { "insecure-registries":["myregistry.example.com:5000"] }

  • डॉकटर डेमॉन को फिर से शुरू करें

    sudo /etc/init.d/docker restart


7
मेरे मामले में मैं Ubuntu 16.04 और / etc / default / docker का उपयोग करता हूं (जहां मेरा कॉन्फ़िगरेशन था) upstart के लिए विशिष्ट है। 16.04 systemd का उपयोग करता है। /etc/docker/daemon.json प्लेटफ़ॉर्म-स्वतंत्र कॉन्फ़िगरेशन है। github.com/docker/docker/issues/23512 github.com/docker/docker/issues/23228
bojtib

1
यहाँ प्रलेखन कैसे असुरक्षित रजिस्ट्री docs.docker.com/registry/insecure
Ivailo Bardarov

6
/etc/docker/daemon.jsonमौजूद न होने पर फाइल बनाएं । विशिष्ट के लिएUbuntu 16.04
गहरा

किसी को भी macOS के लिए कोई जानकारी है?
एड्रियन फोर्सियस

जब मैंने डॉकटर V17.x स्थापित किया तो इससे मुझे मदद मिली। जब मैं docker.io v1.x
नोड_मान

23

विंडोज उपयोगकर्ताओं के लिए

यहां स्थानीय रजिस्ट्री जोड़ें और आवेदन करें:

यहां छवि विवरण दर्ज करें


7

मैक यूजर्स के लिए: टॉप बार में (docker) आइकन का उपयोग करके docker की प्राथमिकताओं को अपडेट करें

प्राथमिकताएं -> डेमॉन -> असुरक्षित रजिस्ट्री [क्लिक करें (+) साइन] -> जोड़ें: पोर्ट

नीचे "हिट एंड रिस्टार्ट" बटन दबाएं

डॉक को पसंद करने वाली विंडो दिखा रहा है


6

मेरे पास भी यही मुद्दा था और नीचे दिए गए चरणों का पालन किया:

1. फ़ाइल बनाएँ

 vi /etc/docker/daemon.json

2. सामग्री नीचे जोड़ें

{
        "insecure-registries":["192.168.1.142:5000"]
 }

3.स्टार्ट डॉकटर

service docker restart

3

यदि आप Windows का उपयोग कर रहे हैं और आपको यह त्रुटि मिलती है तो आपको एक फ़ाइल बनाने की आवश्यकता है: "C:\ProgramData\docker\config\daemon.json"

और ऊपर उल्लिखित @Bspec के समान ही करें:

{"असुरक्षित-रजिस्ट्रियां": ["myregistry.example.com by000"]}

फिर PowerShell आदेशों का उपयोग करते हुए पुनः आरंभ करें:

Stop-Service docker
Start-Service docker

2

"/etc/docker/daemon.json" को संशोधित करना मेरे लिए कारगर नहीं रहा।

नीचे के रूप में "/ etc / sysconfig / docker" के तहत इसे डालकर काम किया।

INSECURE_REGISTRY = "- असुरक्षित-रजिस्ट्री 192.168.24.1:8787"


हमें --insecure-registryविकल्प दिखाने के लिए धन्यवाद । मेरे मामले में यह एक और फ़ाइल थी /etc/systemd/system/docker.service.d/docker-options.confक्योंकि मैं क्यूब्सप्राय का उपयोग कर रहा हूं। तो दूसरों के लिए: आपको अपना DOCKER_OPTSपैरामीटर खोजने की आवश्यकता है । : बस यह खोज का उपयोग grep -ER DOCKER_OPTS /etcभर में /etcनिर्देशिका। : मेरे विशिष्ट मामले में, सेटिंग्स प्रभावी मैंने किया था बनाने के लिए systemctl daemon-reload, systemctl restart dockerऔर ps -ef | grep dockerdUbuntu पर।
laimison

1

आदेश में धक्का करने के लिए , ग्राहक के पक्ष असुरक्षित रजिस्ट्री करने के लिए आईपी जोड़ने (जैसे Windows के लिए)

यहां छवि विवरण दर्ज करें

खींचने के लिए , इसे सर्वर साइड में जोड़ें (इस मामले में Ubuntu)

vim /etc/docker/daemon.json

यहां छवि विवरण दर्ज करें

और फिर डॉकटर को पुनः आरंभ करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.