機(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,此處我們通過命令行來測試推送用的是普通的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
推送鏡像到私有倉庫
接下來我們在docker-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)簽:泰安 江門 廈門 內(nèi)江 瀘州 江西 玉樹 湖北
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)》,本文關(guān)鍵詞 詳解,docker,私有,倉庫,搭建,;如發(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)。