2015-12-14 15 views
8

मैंने अपनी निजी रजिस्ट्री (निजी-रजिस्ट्री) बनाई है लेकिन मैं छवियों को धक्का देने में असमर्थ हूं। से मैं निम्नलिखित त्रुटि मिलती है:डॉकर: टीएलएस हैंडशेक टाइमआउट

time="2015-12-14T07:59:21Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="redis not configured" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="listening on [::]:5000, tls" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 
time="2015-12-14T07:59:21Z" level=info msg="Starting upload purge in 47m0s" go.version=go1.5.2 instance.id=a77e1955-3688-4fe3-a06e-0341787f8d0f version=v2.2.1 

मैं अपने रजिस्ट्री (timeout) कर्ल करने में असमर्थ हूँ: निम्नलिखित दिखा रहे हैं

The push refers to a repository [private-registry:5000/ubuntu] (len: 1) 
unable to ping registry endpoint https://private-registry:5000/v0/ 
v2 ping attempt failed with error: Get https://private-registry:5000/v2/: net/http: TLS handshake timeout 
v1 ping attempt failed with error: Get https://private-registry:5000/v1/_ping: net/http: TLS handshake timeout 

चल रजिस्ट्री के लॉग।

सबसे पहले मैं गया है बनाया selfsigned प्रमाण पत्र:

mkdir -p certs && openssl req \ 
    -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \ 
    -x509 -days 365 -out certs/domain.crt 

मैं अपने रजिस्ट्री बनाने के बाद, जो इस प्रमाण पत्र का उपयोग करेगा:

docker run -d -p 5000:5000 --restart=always --name private-registry \ 
    -v `pwd`/certs:/certs \ 
    -e REGISTRY_HTTP_TLS_CERTIFICATE=certs/domain.crt \ 
    -e REGISTRY_HTTP_TLS_KEY=certs/domain.key \ 
    registry:2 

मैं दिया इस चरणों मैं प्रदर्शन कर रहे हैं सही अनुमतियां:

chcon -Rt svirt_sandbox_file_t ~certs/ 

मैंने बनाया है: /etc/docker/etc.d/private-registry:5000/ और मैंने इसमें domain.crt कॉपी किया। मैं अपने /etc/hosts संपादित और जोड़ दिया है: 10.0.0.X private-registry (अपने आंतरिक आईपी और मेरी रजिस्ट्री का नाम)

मैं भी पुन: प्रारंभ डोकर और मेरी रजिस्ट्री।

संपादित करें:

[[email protected] ~]$ curl -v private-registry:5000 
* About to connect() to private-registry port 5000 (#0) 
* Trying 10.0.0.xx... 
* Connected to private-registry (10.0.0.xx) port 5000 (#0) 
> GET/HTTP/1.1 
> User-Agent: curl/7.29.0 
> Host: private-registry:5000 
> Accept: */* 
> 

* Connection #0 to host private-registry left intact 
[[email protected]~]$ curl -v https://private-registry:5000 
* About to connect() to private-registry port 5000 (#0) 
* Trying 10.0.0.xx... 
* Connected to private-registry (10.0.0.xx) port 5000 (#0) 
* Initializing NSS with certpath: sql:/etc/pki/nssdb 
* CAfile: /etc/pki/tls/certs/ca-bundle.crt 
     CApath: none 
    * NSS error -5990 (PR_IO_TIMEOUT_ERROR) 
* I/O operation timed out 
* Closing connection 0 
curl: (35) I/O operation timed out 
+0

कर्लिंग –

+0

कर्लिंग के बारे में ऊपर अपडेट किया गया हो सकता है कि खींचने वाली छवि में बहुत से कंटेनर शामिल हैं। बस कुछ मिनटों में पुन: प्रयास करने का प्रयास करें। –

उत्तर

1

आप इस निर्देशिका में प्रमाण पत्र रखना होगा।

/etc/docker/certs.d/private-registry.com:5000/ca.crt 
संबंधित मुद्दे