搭建私有docker倉庫

2021-09-24 06:08:30 字數 3029 閱讀 3506

作業系統版本:centos7

docker 當前版本

[root@localhost data]# docker version

client:

version: 18.09.6

api version: 1.39

go version: go1.10.8

git commit: 481bc77156

built: sat may 4 02:34:58 2019

os/arch: linux/amd64

experimental: false

server: docker engine - community

engine:

version: 18.09.6

api version: 1.39 (minimum version 1.12)

go version: go1.10.8

git commit: 481bc77

built: sat may 4 02:02:43 2019

os/arch: linux/amd64

experimental: false

建立 /data/config.yml 檔案

/data/config.yml 檔案中寫入如下內容:

執行 docker registry

[root@localhost ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry -v /data/config.yml:/etc/docker/registry/config.yml registry
如果遇到:docker0: iptables: no chain/target/match by that name 錯誤

解決辦法:

在centos 7下使用類似nginx之類的web server,啟動docker時有時會報以下錯誤:

docker0: iptables: no chain/target/match by that name.

解決方法:

service docker restart

重啟docker後:

iptables -l

可以看到iptables裡面多出了chain docker的選項。

經驗為:在啟動firewalld之後,iptables被啟用,此時沒有docker chain,重啟docker後被加入到iptable裡面。

測試拉取乙個 hello-world 映象

[root@localhost ~]# docker pull hello-world

接下來修改一下該映象的tag

[root@localhost ~]# docker tag hello-world 192.168.130.132:5000/hello-world

push到私有倉庫

[root@localhost ~]# docker push 192.168.130.132:5000/hello-world

docker registry https問題

clien 端解決方法

在」/etc/docker/「目錄下,建立」daemon.json「檔案。在檔案中寫入一下內容,注意 insecure-registries 是 docker registry 的位址

參考文章:

server 端解決方法

因為docker從1.3.x之後,與docker registry互動預設使用的是https,然而此處搭建的私有倉庫只提供http服務,所以當與私有倉庫互動時就會報上面的錯誤。為了解決這個問題需要在啟動docker server時增加啟動引數為預設使用http訪問。修改docker啟動配置檔案:

[root@localhost ~]# vim /usr/lib/systemd/system/docker.service

找到 execstart 這一行,在後面加入 --insecure-registry 192.168.130.132:5000,192.168.130.132:5000 是服務端位址。

execstart=/usr/bin/dockerd -h fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.130.132:5000

修改後重啟docker

[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl restart docker

docker搭建私有倉庫

registry映象 docker pull registry 二 通過該映象啟動乙個容器 docker run d p 5000 5000 v opt data registry tmp registry registry 注 預設情況下,會將倉庫存放於容器內的 tmp registry目錄下,這...

Docker搭建私有倉庫

docker私有倉庫 1 私有倉庫搭建與配置 1 拉取私有倉庫映象 此步省略 docker pull registry 2 啟動私有倉庫容器 docker run di name registry p 5000 5000 registry 3 開啟瀏覽器 輸入位址看到 表示私有倉庫搭建成功並且內容為...

docker搭建私有倉庫

先吧私有倉庫down下來,這需要一點時間,剛好這中間的時間,我們可以準備一下其他的東西 docker pull registry 緊接著,registry需要https執行環境,所以來生成我們自己的證書 簡單說明一下,目前的registry版本是2,之前的1是支援非ssl的,docker在0.9以下...