簡體   English   中英

docker推送本地注冊表https訪問資源失敗的問題

[英]Issue with docker push on local registry https access to ressource denied

我的注冊表泊塢窗有問題。 我的“服務器” VM在kali-linux上。 我在HTTP中創建了注冊表docker,並使用centOS VM作為客戶端。 我宣布客戶端VM中的注冊表不安全,並且運行良好。

現在,我嘗試將其放入HTTPS。 為了做到這一點,我使用nginx作為代理。 我遵循了本教程: 步驟5-設置SSL第8部分除外)以使其成為服務(我不知道為什么,但我不能這樣做)。

因為我沒有域名,所以我使用了一個偽造的域名。 為了得到識別,我在兩個VM的/ etc / hosts文件中添加了我的IP(192.168.XX)和我使用的域名(myregistryexemple)。

按照教程的要求,我在“服務器” VM(kali證書)上生成了證書,然后通過scp將其發送到客戶端VM。 由於以下命令,我使centOS vm信任證書:

yum install ca-certificates 
update-ca-trust force-enable 
cp cert.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

我在客戶端VM上重新啟動服務docker。 然后在我的kali VM上使用“ docker-compose up”啟動docker注冊表和nginx代理。

我標記並嘗試在注冊表上推送一個ubuntu:

docker tag ubuntu myregistryexemple/ubuntu
docker push myregistryexemple/ubuntu

但是我得到這個錯誤:

The push refers to a repository [docker.io/myregistryexemple/ubuntu]
56827159aa8b: Preparing 
440e02c3dcde: Preparing 
29660d0e5bb2: Preparing 
85782553e37a: Preparing 
745f5be9952c: Preparing 
denied: requested access to the resource is denied

然后我嘗試直接推送到本地主機:

docker tag ubuntu localhost:5000/ubuntu & docker push localhost:5000/ubuntu 

然后我從客戶端VM在域上登錄了docker,它起作用了,但是當我嘗試從客戶端VM上的域注冊表中拉出時,docker無法在注冊表中找到我嘗試推送的docker鏡像。

有人知道為什么會做,並且知道如何幫助我嗎?

好的,所以我找到了一種使其工作的方法。

這很簡單:只需按照我在這個問題上引用的完整教程進行操作( https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu- 14-04#step-5-%E2%80%94-setting-up-ssl

創建存儲庫之后,以及在推送/拉動docker映像之前。

您需要在客戶端和服務器VM中都在/ etc / hosts上。

添加行:domainChosen serverVmIp

保存並退出。

現在,我們需要客戶端信任生成的證書。 為此,您可以使用本教程: http : //kb.kerio.com/product/kerio-connect/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server- 1605.html

然后重新啟動注冊表和docker守護進程。 通常,您可以使用域名在https中的注冊表中進行推送/拉取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM