私有映象 docker registry 建立

2021-10-03 17:55:09 字數 2254 閱讀 7849

目錄

1、安裝

2、測試

3、從私有倉庫中刪除映象 

docker安裝

首先安裝docker,再囉嗦一下,如下:

# yum -y install docker

# service docker start

# systemctl enable docker

然後

docker pull registry
然後

docker run -d -v /data/docker-registry/registry:/var/lib/registry -e registry_storage_delete_enabled=true -p 5000:5000 --restart=always --name registry registry
注意新增環境變數 registry_storage_delete_enabled=true 讓私有庫中的映象可以刪除

驗證

其他方式安裝

暫時還沒有試 

1)首先我們從公網上pull乙個ngnix映象到docker中,然後再push到自己私有映象庫

docker pull nginx
2)然後將要推送的映象命名為符合倉庫要求registry_url:port/imagename:tag的格式

3)然後講映象推送至私庫

docker push 106.54.155.***:5000/my_ngnix:0.0.1
注意:可能會出現無法push映象到私有倉庫的問題。提示

是因為我們啟動的registry服務不是安全可信賴的。這時需要修改客戶端docker的配置(不是registry)檔案/etc/docker/daemon.json

然後

systemctl restart docker
最後再push。

systemctl restart docker

[root@vm_0_6_centos docker-registry]# docker push 106.54.155.***x:5000/my_ngnix:0.0.1

the push refers to a repository [106.54.155.***:5000/my_ngnix]

55a77731ed26: pushed

71f2244bc14d: pushed

f2cb0ecef392: pushed

3、從私庫拉映象測試

首先檢視進行是否存在

/opt/registry目錄下已經有了剛推送上來的registry映象;

其他docker來pull

docker registry刪除映象比較麻煩。

請參考: 

將映象刪除後,再次push剛刪除的映象,會提示「layer already exists」。此時,重啟docker,再次push剛刪除的映象,就沒有問題了。因此,可以判斷是docker中存在快取,導致不重啟就無法上傳,至於如何在不重啟docker的條件下清理layer快取,暫時沒有查到。

構建私有映象

以官方nginx映象為例,使用dockerfile來定製映象。mkdir mynginx cd mynginx touch dockerfile 在dockerfile檔案中寫入以下內容 from nginx run echo usr share nginx html index.html 使用do...

docker上傳映象到私有映象

這裡的 192.168.1.1 dev 表示倉庫位址 根據自己的來 登入 docker login 192.168.1.1 dev然後會要求輸入使用者名稱密碼 如果出現報錯 get x509 cannot validate certificate for 192.168.1.1 because it...

docker建立私有映象

一 安裝febootstrap yum y install febootstrap 或2 安裝依賴環境 yum install ocaml ocaml foo devel ocaml camlp4 devel ocaml ocamldoc ocaml findlib devel ocaml extl...