佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)

詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)

熱門標(biāo)簽:使用U盤裝系統(tǒng) 網(wǎng)站建設(shè) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 美圖手機(jī) 智能手機(jī) 阿里云 檢查注冊(cè)表項(xiàng) 硅谷的囚徒呼叫中心

hub.docker.com上可以保存鏡像,但是網(wǎng)速相對(duì)較慢,在內(nèi)部環(huán)境中搭建一個(gè)私有的公共倉庫是個(gè)更好的方案,今天我們就來實(shí)戰(zhàn)搭建私有docker倉庫吧;

環(huán)境規(guī)劃

需要兩臺(tái)機(jī)器:docker私服倉庫的server和使用docker的普通機(jī)器,這兩個(gè)機(jī)器都是ubuntu16版本的server,ip信息如下:

機(jī)器名 ip 功能
docker-registry 192.168.119.148 docker私有倉庫服務(wù)器
docker-app 192.168.119.155 運(yùn)行docker服務(wù)的普通服務(wù)器

準(zhǔn)備機(jī)器

本次實(shí)戰(zhàn)中,上述兩臺(tái)機(jī)器是vmware上創(chuàng)建的兩個(gè)虛擬機(jī),都安裝了docker服務(wù),詳細(xì)的創(chuàng)建和安裝過程,請(qǐng)參照《rancher下的kubernetes之一:構(gòu)建標(biāo)準(zhǔn)化vmware鏡像》,記得在vmware中給兩個(gè)鏡像把名字分別改成“docker-registry”和“docker-app”,以免后面搞錯(cuò)了;

虛擬機(jī)啟動(dòng)后,請(qǐng)先修改/etc/hostname文件,將兩個(gè)機(jī)器的hostname分別修改成“docker-registry”和“docker-app”,然后用reboot命令重啟;

安裝私有倉庫

登錄docker-registry機(jī)器(推薦使用SecureCRT);

執(zhí)行以下命令,會(huì)啟動(dòng)一個(gè)registry容器,該容器用于提供私有倉庫的服務(wù):

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

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

 

容器正常啟動(dòng),對(duì)外提供服務(wù)通過5000端口映射到docker-registry的5000端口;

執(zhí)行命令curl -X GET http://127.0.0.1:5000/v2/_catalog,收到的響應(yīng)如下,是個(gè)json對(duì)象,其中repositories對(duì)應(yīng)的值是空的json數(shù)組,表示目前倉庫里還沒有鏡像:

{"repositories":[]}

OK,私有倉庫已經(jīng)創(chuàng)建和啟動(dòng)完畢了,接下來試試如何使用吧;

支持http協(xié)議推送

正常情況下,應(yīng)用服務(wù)器推送鏡像到倉庫用的是https,此處我們通過命令行來測(cè)試推送用的是普通的http,所以需要修改docker的啟動(dòng)參數(shù),使之允許以http協(xié)議工作;

執(zhí)行推送鏡像的機(jī)器是docker-app,所以登錄到此機(jī)器(推薦使用SecureCRT);

修改/etc/default/docker文件,加入以下紅框內(nèi)容:

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

執(zhí)行以下命令,重新加載配置信息再重啟docker服務(wù):

systemctl daemon-reload;service docker restart

推送鏡像到私有倉庫

接下來我們?cè)赿ocker-app先下載一個(gè)鏡像,再將這個(gè)鏡像推送到私有倉庫中去;

登錄docker-app機(jī)器(推薦使用SecureCRT);

執(zhí)行命令docker pull tomcat,從hub.docker.com下載最新版本的tomcat鏡像,如下圖:

下載完畢后,執(zhí)行docker images查看鏡像的信息,如下圖:

如上圖紅框所示,這個(gè)鏡像的ID是3dcfe809147d,所以我們執(zhí)行以下命令,給這個(gè)鏡像添加一個(gè)帶有私有倉庫IP的TAG,這樣后面才能成功推送到私有倉庫:

docker tag 3dcfe809147d 192.168.119.148:5000/tomcat

再執(zhí)行docker images查看鏡像的信息,如下圖,出現(xiàn)了一個(gè)新的鏡像,REPOSITORY是192.168.119.148:5000/tomcat:

執(zhí)行以下命令進(jìn)行推送:

docker push 192.168.119.148:5000/tomcat

可以看到順利進(jìn)行中,如下圖:

推送成功后,在docker-app和docker-registry上分別執(zhí)行curl -X GET http://192.168.119.148:5000/v2/_catalog,查看私有倉庫的鏡像信息,都能見到如下內(nèi)容:

使用私有倉庫的鏡像

在docker-app機(jī)器上,先執(zhí)行以下命令將本地鏡像刪掉:

docker rmi 192.168.119.148:5000/tomcat tomcat

再執(zhí)行以下命令,用私服上的鏡像來創(chuàng)建一個(gè)容器,映射8080端口:

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

本地沒有鏡像就去私服下載,如下圖:

docker-app的IP是192.168.119.155,所以在當(dāng)前電腦上打開瀏覽器,輸入:192.168.119.155:8080,可以看到下圖熟悉的tomcat歡迎頁:

至此本次實(shí)戰(zhàn)就結(jié)束了,希望能對(duì)您的私有倉庫搭建有所幫助。也希望大家多多支持腳本之家。

標(biāo)簽:湘潭 懷化 黃山 山南 煙臺(tái) 賀州 通遼 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    姚安县| 昌邑市| 民县| 湘潭县| 和林格尔县| 定襄县| 陇川县| 平塘县| 罗甸县| 武平县| 苏尼特左旗| 仁寿县| 天柱县| 康平县| 凤山县| 阳山县| 固镇县| 津南区| 宜川县| 云梦县| 佛教| 曲阜市| 龙陵县| 浙江省| 丹阳市| 通山县| 昌乐县| 阿城市| 张北县| 岐山县| 昂仁县| 天柱县| 崇仁县| 隆子县| 台前县| 鹤山市| 盐亭县| 从化市| 崇明县| 天柱县| 安溪县|