Docker學習-私有倉庫docker-registry的使用


1.從docker官方倉庫下載registry

2.將registry放進容器內

3.在官方下載鏡像上傳本地倉庫

4.私有倉庫docker-registry使用的常見問題

5.配置阿里雲鏡像加速器

假設我外網ip119.23.113.33

1.從docker官方倉庫下載registry

docker pull registry:2.2

此時,查看鏡像docker images 會看見registry

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
registry                    2.2                 ad379b517aa6        4 years ago         225MB

2.將registry放進容器內

默認情況下,倉庫會被創建在容器的 /tmp/registry 下。可以通過 -v 參數來將鏡像文件存放在本地的 指定路徑。 下面的將上傳的鏡像放到 /opt/data/registry 目錄

docker run -d --name=MyRegistry -p 5000:5000 -v /opt/data/registry:/tmp/registry registry:2.2

輸入docker ps 查看已經啟動的容器

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
0c8d76e6bc71        registry:2.2        "/bin/registry /etc/…"   11 hours ago        Up 9 hours          0.0.0.0:5000->5000/tcp   MyRegistry

3.在官方下載鏡像上傳本地倉庫

下載ubuntu

docker pull ubuntu

查看鏡像docker images

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
registry                    2.2                 ad379b517aa6        4 years ago         225MB
ubuntu                      latest              77be327e4b63        4 weeks ago         124MB

修改一下該鏡像的tag標識

docker tag ubuntu 119.23.113.33:5000/ubuntu

查看鏡像docker images

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
registry                    2.2                 ad379b517aa6        4 years ago         225MB
ubuntu                      latest              77be327e4b63        4 weeks ago         124MB
119.23.113.33:5000/ubuntu   latest              77be327e4b63        4 weeks ago         124MB

修改tag后的鏡像上傳到私有倉庫

docker push 119.23.113.33:5000/ubuntu

4.常見問題

1.報錯Get https://119.23.110.27:5000/v2/: http: server gave HTTP response to HTTPS client

Docker自從1.3.X之后docker registry交互默認使用的是HTTPS,但是搭建私有鏡像默認使用的是HTTP服務,所以與私有鏡像交時出現以上錯誤。

echo '{ "insecure-registries":["119.23.113.33:5000"] }' > /etc/docker/daemon.json 

重啟docker

systemctl restart docker

如果還是不行,可以查看一下,是不是添加了阿里雲的鏡像加速器,刪除就行了

2.報錯Get http://192.168.220.125:5000/v2/: dial tcp 192.168.220.125:5000: connect: connection refused

這是5000端口沒開的原因

5.配置阿里雲鏡像加速器

針對Docker客戶端版本大於 1.10.0 的用戶

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://59kfk4ft.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

感謝閱讀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM