2017-04-21 79 views
0

我無法在我的環境中拖動泊塢窗圖像。我認爲它被公司防火牆阻止,但我不確定它爲什麼會獲取圖層信息,並且稍後會打印找不到該存儲庫。無法拖動泊塢窗圖像 - 未找到存儲庫

sudo docker pull hello-world 
latest: Pulling from hello-world 
50a54e1f9180: Pulling fs layer 
7a5a2d73abce: Pulling fs layer 
Pulling repository hello-world 
Repository not found 

泊塢版本:(我不能升級到最新的碼頭工人在RHEL 6.9)

Docker version 1.7.1, build 786b29d/1.7.1 

有人能解釋我這協議(HTTPS只?)都是搬運工圖像時使用拉動階段,什麼地址聯繫(僅限「https://registry-1.docker.io/v2」?)?

回答

1

問題是防火牆在拉取圖像時阻塞了連接。 Docker註冊表使用CDN,因此需要允許更多的URL,而不僅僅是註冊表URL。

我要求允許公司防火牆上的以下URL,它現在正在工作。

dseasb33srnrn.cloudfront.net 
auth.docker.io 
elb-registry.us-east-1.aws.dckr.io. 
us-east-1-elbregis-10fucsvj1tcgy-133821800.us-east-1.elb.amazonaws.com 
registry-1.docker.io 
registry-origin.docker.io 
index.docker.io 
elb-io.us-east-1.aws.dckr.io 
us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com 

Docker日誌文件(/ var/log/docker)幫助我找出根本問題。 有以下錯誤:

level=error msg="Error from V2 registry: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/78/78445dd45222097f5f8d5a16e48dc19c4ca162dcdb80010ab6f1ccfc7e2c0fa3/data?Expires=1493033299&Signature=DiEmffSxF1F9z-SRoGyX3NwzfeQY3BhE2Du3aPb1qy9VglXyn1mus7Xy9Y~DQnwaQ9IIN71FboK5lOAiN1Qj-x662qhioi72CJ-v02fiMHqC03FDb0l4LyULquU8GaalW3uZG4hdfuSqOBQ1qo9HEcxhMyQGqOqpfPUKjUlHqm8_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: read tcp 52.85.173.110:443: connection reset by peer" 

需要被允許我發現這裏的網址列表: https://forums.docker.com/t/list-of-docker-hub-mirror-sites-to-configure-proxy-whitelist/20845/2

1

泊塢窗圖像可以由多個圖層組成。默認情況下,Docker守護進程會一次拉出三層圖像,但在圖像較少的情況下拉動較少。另外,如果未提供標籤,則Docker Engine將默認使用:latest標籤。以上是您的拉取請求的基本日誌,指示碼頭工人嘗試拉取圖像的各層但失敗,可能是由於防火牆限制或較舊的碼頭版本。

泊塢使用https://協議除非註冊表被允許在不安全 連接到被訪問與一個註冊表, 通信。

不確定它嘗試連接的所有地址是否拉取圖像。

+0

如果防火牆阻止通訊然後碼頭工人不應該得到關於層的信息......還是我錯了? – martinsefcik

+0

每個Docker映像引用表示文件系統差異的只讀圖層列表。圖層堆疊在一起形成容器根文件系統的基礎。 {fs}這裏的意思是{文件系統} – qwerty

+0

@martinsefcik在這種情況下,它也會顯示'Pull fs layer'。 – qwerty