91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker怎么部署私有倉庫

發布時間:2021-09-03 18:56:43 來源:億速云 閱讀:165 作者:chen 欄目:云計算

這篇文章主要介紹“Docker怎么部署私有倉庫”,在日常操作中,相信很多人在Docker怎么部署私有倉庫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker怎么部署私有倉庫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

倉庫(Repository)是集中存放鏡像的地方。
一個容易混淆的概念是注冊服務器(registry)。實際上注冊服務器是管理倉庫的具體服務器,每個服務器上可以有多個倉庫,而每個倉庫下面有多個鏡像。從這方面來說,倉庫可以被認為是一個具體的項目或目錄。例如對于倉庫地址docker.sina.com.cn/centos:centos7來說,docekr.sian.com.cn是注冊服務器地址,centos是倉庫名,centos7是倉庫的tag(標簽)。

Docker Hub 官方倉庫
目前docker官方維護了一個公共倉庫,Docker Hub,其中已經包括了超過1500的鏡像。大部分需求,都可以通過在Docker Hub中直接下載鏡像來實現。

部署私有倉庫:

1, 通過官方的registry鏡像來部署私有倉庫:

項目環境:
兩臺主機(centos7):docker01:172.16.1.30
docker02:172.16.1.40**

docker01:
(1)基于registry鏡像運行一個容器:
[root@sqm-docker01 ~]#  docker run -d --name registry  --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry registry:latest

參數說明:
#registry服務默認監聽的是5000端口
-v = --volume 數據卷,進行一個掛載:宿主機:容器內

(2)命名私有倉庫鏡像:
##如果不對私有倉庫命名的話,默認走的是公共倉庫(docker hub),所以需要命名鏡像。
私有倉庫鏡像的命名規則:宿主機ip地址:端口號/xxxx(需要更改的名稱)
以nignx鏡像為例,下載nginx鏡像:
[root@sqm-docker01 ~]# docker pull nginx

[root@sqm-docker01 ~]# docker tag  nginx:latest 172.16.1.30:5000/nginx:latest

注意:當你對源鏡像(nginx:latest)進行命名后,命名后的鏡像名稱也視為一個標簽,因為id號是相同的。
如果當源鏡像(nginx:latest)刪除,命名后的鏡像依然會存在,因為刪除的是一個標簽。

(3)修改docker主配置文件:
[root@sqm-docker01 ~]# vim /usr/lib/systemd/system/docker.service

指定本地倉庫的ip地址+端口號:
Docker怎么部署私有倉庫

重新加載進程并重啟docker服務:

[root@sqm-docker01 ~]# systemctl daemon-reload
[root@sqm-docker01 ~]# systemctl restart docker

(4)將本地鏡像push到私有倉庫中:
[root@sqm-docker01 ~]# docker push 172.16.1.30:5000/nginx:latest
Docker怎么部署私有倉庫

//查看私有倉庫中的鏡像:

[root@sqm-docker01 ~]# curl 172.16.1.30:5000/v2/_catalog
{"repositories":["nginx"]}

//查看倉庫中鏡像的標簽:

[root@sqm-docker01 ~]#  curl 172.16.1.30:5000/v2/nginx/tags/list
{"name":"nginx","tags":["latest"]}

//如果需要刪除私有倉庫中的鏡像,因為我有嘗試用官方的第三方工具(deletedockerregistryimage)來進行刪除鏡像,但最終并沒有把倉庫中的鏡像刪除。所以我采取在運行registry時掛載在本地的目錄[/data/registry]中,找到指定的鏡像存放的目錄來進行刪除。

[root@sqm-docker01 ~]# cd /data/registry/docker/registry/v2/
[root@sqm-docker01 v2]# ls
blobs  repositories
[root@sqm-docker01 v2]# cd repositories/
[root@sqm-docker01 repositories]# ls
nginx
[root@sqm-docker01 repositories]# rm -rf nginx/
刪除后再次查看私有倉庫中的鏡像是否還存在:
[root@sqm-docker01 ~]# curl http://172.16.1.30:5000/v2/_catalog
{"repositories":[]}

可以看到倉庫中的鏡像已被成功刪除。

docker02:
連接docker01,從docker01的倉庫中拉取鏡像:(記得先把鏡像上傳到私有倉庫中)
(1)修改docker的配置文件:
[root@sqm-docker02 ~]# vim /usr/lib/systemd/system/docker.service
Docker怎么部署私有倉庫

重啟docker服務:

[root@sqm-docker02 ~]# systemctl daemon-reload
[root@sqm-docker02 ~]# systemctl restart docker

(2)從私有倉庫中拉取鏡像:

[root@sqm-docker02 ~]# docker pull 172.16.1.30:5000/nginx  #使用pull命令進行拉取

Docker怎么部署私有倉庫

(3)部署nginx服務:

[root@sqm-docker02 ~]# mkdir html
[root@sqm-docker02 ~]# echo "welcome to nginx web" > html/index.html

[root@sqm-docker02 ~]# docker run -itd --name nginx -p  80:80 -v /root/html:/usr/share/nginx/html 172.16.1.30:5000/nginx

Docker怎么部署私有倉庫

訪問nginx頁面:
Docker怎么部署私有倉庫

2,部署Harbor(哈勃)私有倉庫:

registry是官方的一個私有倉庫,而harbor是第三方的一個私有倉庫。

(1)下載compose:
安裝依賴:
[root@sqm-docker01 ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
從github官網上進行下載:
URL:https://github.com/docker/compose/releases
Docker怎么部署私有倉庫
Docker怎么部署私有倉庫

[root@sqm-docker01 ~]# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-uname -s-uname -m-o /usr/local/bin/docker-compose

[root@sqm-docker01 ~]#  chmod +x /usr/local/bin/docker-compose

查看compose版本:

[root@sqm-docker01 ~]# docker-compose -version
docker-compose version 1.24.0, build 0aa59064

(2)下載harbor安裝包并進行解壓:

[root@sqm-docker01 ~]# tar zxf harbor-offline-installer-v1.7.4.tgz -C /usr/local/
[root@sqm-docker01 ~]# cd /usr/local/harbor/

Docker怎么部署私有倉庫

編寫harbor配置文件:
[root@sqm-docker01 harbor]# vim harbor.cfg
Docker怎么部署私有倉庫
執行腳本:
[root@sqm-docker01 harbor]# ./install.sh
Docker怎么部署私有倉庫

進入網站:用戶admin,密碼:Harbor12345(在harbor配置文件中可以查看到)
URL:http://172.16.1.30
[root@sqm-docker01 harbor]#  vim harbor.cfg

Docker怎么部署私有倉庫

Docker怎么部署私有倉庫
登陸界面如下:
Docker怎么部署私有倉庫

(3)我們在網頁上新建一個項目:
Docker怎么部署私有倉庫
Docker怎么部署私有倉庫
Docker怎么部署私有倉庫

##修改docker配置文件:
[root@sqm-docker01 ~]# vim /usr/lib/systemd/system/docker.service
Docker怎么部署私有倉庫

//重新加載docker:

[root@sqm-docker01 ~]# systemctl daemon-reload
[root@sqm-docker01 ~]# systemctl restart docker

//重啟compose:
注意:因為剛剛已經重啟了docker服務,所以我們需要將所有容器給重新啟動。

[root@sqm-docker01 harbor]# docker ps -a -q | xargs docker start

[root@sqm-docker01 harbor]# docker-compose  stop

Docker怎么部署私有倉庫
[root@sqm-docker01 harbor]# docker-compose  start
Docker怎么部署私有倉庫

(4)在本地終端上連接harbor:
[root@sqm-docker01 harbor]# docker login  -u admin -p Harbor12345 172.16.1.30:80
Docker怎么部署私有倉庫

(5)將需要上傳到harbor私有倉庫的鏡像進行push:
#例如將本地的一個nginx鏡像命令并且push到倉庫:
[root@sqm-docker01 harbor]# docker tag nginx:latest  172.16.1.30:80/sunqiuming/nginx:latest

[root@sqm-docker01 harbor]# docker push 172.16.1.30:80/sunqiuming/nginx:latest  #push到剛才在網頁上創建的項目
Docker怎么部署私有倉庫

push成功后,我們在網頁上進行查看:
Docker怎么部署私有倉庫
Docker怎么部署私有倉庫

docker02進行連接harbor:
(1)為了在docker02不再進入配置文件進行修改,將docker01上的docker配置文件拷貝給docker02:
#免密登陸:
[root@sqm-docker01 ~]# ssh-keygen
Docker怎么部署私有倉庫
[root@sqm-docker01 ~]# ssh-copy-id  172.16.1.40

[root@sqm-docker01 ~]# scp /usr/lib/systemd/system/docker.service  root@172.16.1.40:/usr/lib/systemd/system/docker.service

重啟docker服務:
[root@sqm-docker02 ~]# systemctl daemon-reload
[root@sqm-docker02 ~]# systemctl restart docker

(2)連接harbor私有倉庫:
Docker怎么部署私有倉庫

(3)從harbor私有倉庫中拉取鏡像:
[root@sqm-docker02 ~]# docker pull 172.16.1.30:80/sunqiuming/nginx  #指向的是剛才上傳鏡像的倉庫中進行拉取。
Docker怎么部署私有倉庫
(4)最后在基于該鏡像,運行nginx服務并測試網頁:
[root@sqm-docker02 ~]# docker run -d --name nginx -p 80:80 172.16.1.30:80/sunqiuming/nginx:latest
Docker怎么部署私有倉庫

到此,關于“Docker怎么部署私有倉庫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广河县| 长葛市| 贺兰县| 临泉县| 永顺县| 亳州市| 盖州市| 永济市| 中西区| 阳东县| 江都市| 津南区| 南雄市| 克什克腾旗| 宁明县| 峡江县| 毕节市| 永康市| 宜阳县| 石渠县| 二连浩特市| 武功县| 嘉善县| 新郑市| 丹棱县| 琼海市| 武胜县| 青海省| 兰州市| 如东县| 昔阳县| 突泉县| 海淀区| 固原市| 通许县| 将乐县| 偏关县| 五莲县| 康平县| 郸城县| 西吉县|