詳解docker私有倉庫搭建與使用實戰

2022-09-25 02:15:08 字數 2332 閱讀 3033

hub.docker.com上可以儲存映象,但是網速相對較慢,在內部環境中搭建乙個私有的公共倉庫是個更好的方案,今天我們就來實戰搭建私有docker倉庫吧;

環境規劃

需要兩台機器:docker私服倉庫的server和使用docker的普通機器,這兩個機器都是ubuntu16版本的server,ip資訊如下:

機器名ip

功能docker-registry

192.168.119.148

docker私有倉庫伺服器

docker-app

192.168.119.155

執行docker服務的普通伺服器

準備機器

本次實戰中,上述兩台機器是vmware上建立的兩個虛擬機器,都安裝了docker服務,詳細的建立和安裝過程,請參照《rancher下的kubernetes之一:構建標準化vmware映象vwwqeugosh》,記得在vmware中給兩個映象把名字分別改成「docker-registry」和「docker-app」,以免後面搞錯了;

虛擬機器啟動後,請先修改/etc/hostname檔案,將兩個機器的hostname分別修改成「docker-registry」和「docker-app」,然後用reboot命令重啟;

安裝私有倉庫

登入docker-registry機器(推薦使用securecrt);

執行以下命令,會啟動乙個registry容器,該容器用於提供私有倉庫的服務:

docker run --name docker-registry -d -p 5000:5000 registry

執行docker ps命令看一下容器情況,如下圖:

容器正常啟動,對外提供服務通過5000埠對映到docker-registry的5000埠;

執行命令curl -x get 收到的響應如下,是個json物件,其中repositories對應的值是空的json陣列,表示目前倉庫裡還沒有映象:

ok,私有倉庫已經建立和啟動完畢了,接下來試試如何使用吧;

支援http協議推送

正常情況下,應用伺服器推送映象到倉庫用的是https,此處我們通過命令列來測試推送vwwqeugosh用的是普通的http,所以需要修改docker的啟動引數,使之允許以http協議工作;

執行推送映象的機器是docker-app,所以登入到此機器(推薦使用securecrt);

修改/etc/default/docker檔案,加入以下紅框內容:

再修改 /lib/systemd/system/docker.service,以下紅框中的內容,第一行為新增,第二行為修改:

執行以下命令,重新載入配置資訊再重啟docker服務:

systemctl daemon-reload;service docker restart

推送映象到私有倉庫

接下來我們在docker-app先**乙個映象,再將這個映象推送到私有倉庫中去;

登入docker-app機器(推薦使用securecrt);

執行命令docker pull tomcat,從hub.docker.com**最新版本的tomcat映象,如下圖:

**完畢後,執行docker images檢視映象的資訊,如下圖:

如上圖紅框所示,這個映象的id是3dcfe809147d,所以我們執行以下命令,給這個映象新增乙個帶有私有倉庫ip的tag,這樣後面才能成功推送到私有倉庫:

docker tag 3dcfe809147d 192.168.119.148:5000/tomcat

再執行docker images檢視映象的資訊,如下圖,出現了乙個新的映象,repository是192.168.119.148:5000/tomcat:

執行以下命令進行推送:

docker push 192.168.119.148:5000程式設計客棧/tomcat

可以看到順利進行中,如下圖:

推送成功後,在docker-app和docker-registry上分別執行curl -x get 檢視私有倉庫的映象資訊,都能見到如下內容:

使用私有倉庫的映象

在docker-app機器上,先執行以下命令將本地映象刪掉:

docker rmi 192.168.119.148:程式設計客棧5000/tomc程式設計客棧at tomcat

再執行以下命令,用私服上的映象來建立乙個容器,對映8080埠:

docker run --name tomcat001 -p 8080:8080 -idt 192.168.119.148:5000/tomcat

本地沒有映象就去私服**,如下圖:

至此本次實戰就結束了,希望能對您的私有倉庫搭建有所幫助。也希望大家多多支援我們。

本文標題: 詳解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以下...