Centos7 Docker私有仓库搭建
Centos7 Docker私有倉(cāng)庫(kù)搭建
倉(cāng)庫(kù):集中存放鏡像的地方,可分為公共倉(cāng)庫(kù)和私有倉(cāng)庫(kù)
(公共倉(cāng)庫(kù)"http://hub.docker.com"或國(guó)內(nèi)的"http://www.daocloud.io")
Registry:注冊(cè)服務(wù)器才是存放倉(cāng)庫(kù)具體的服務(wù)器(Registry),每個(gè)服務(wù)器上都可以放置多個(gè)倉(cāng)庫(kù),而每個(gè)倉(cāng)庫(kù)上可以放置多個(gè)鏡像,每個(gè)鏡像上可以運(yùn)行多個(gè)容器,每個(gè)容器上可以跑一個(gè)應(yīng)用或應(yīng)用組。
搭建docker倉(cāng)庫(kù)有兩種方式:
方式一:在同一臺(tái)服務(wù)器搭建倉(cāng)庫(kù)和客戶端(屬于本地搭建)
方式二:兩臺(tái)服務(wù)器一個(gè)是倉(cāng)庫(kù),一個(gè)是客戶端(屬于本地搭建)
注:本文使用方式二搭建,也建議在真實(shí)環(huán)境中使用這種方式搭建!
環(huán)境:
系統(tǒng):兩臺(tái)centos7 -3.10.0-327.el7.x86_64
Docker版本:docker-1.13.1-63
IP:Docker客戶端地址:192.168.152.158
Docker私有倉(cāng)庫(kù)地址:192.168.152.159
注:清空并關(guān)閉以上環(huán)境主機(jī)的防火墻和selinux
關(guān)閉防火墻 systemctl stop firewalld.service
禁止防火墻開機(jī)自啟 systemctl disable firewalld.service
關(guān)閉selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux
重啟 reboot
一、安裝Docker客戶端:192.168.152.158(第一臺(tái)服務(wù)器)
本文基于上一篇docker安裝文章繼續(xù)搭建的,在安裝docker客戶端部分大家可以參考上一篇文章:安裝Docker
1、指定私有倉(cāng)庫(kù)服務(wù)器地址及端口 vi /etc/sysconfig/docker
OPTIONS='--insecure-registry 192.168.152.159:5000'
注:修改/etc/sysconfig/docker(Ubuntu下配置文件地址為:/etc/init/docker.conf),增加啟動(dòng)選項(xiàng)(已有參數(shù)的在后面追加),之后重啟docker,不添加報(bào)錯(cuò),https證書問(wèn)題。
//重啟docker systemctl restart docker
二、搭建Docker私有倉(cāng)庫(kù):192.168.152.159(第二臺(tái)服務(wù)器)
1、安裝docker yum -y install docker
2、升級(jí)依賴包 yum -y install upgrade device-mapper-libs
3、啟動(dòng)docker服務(wù) systemctl start docker
4、開機(jī)自啟docker服務(wù) systemctl enable docker
5、查看docker版本信息 docker version
6、下載registry鏡像(該鏡像用于構(gòu)建本地私有倉(cāng)庫(kù)環(huán)境)
docker pull registry
注:由于國(guó)內(nèi)網(wǎng)絡(luò)問(wèn)題直接連接官網(wǎng)下載可能會(huì)超時(shí),可以重試幾次。
//查看下載registry鏡像 docker images
//遞歸創(chuàng)建鏡像存放目錄 mkdir -p /opt/data/registry
7、運(yùn)行鏡像并將容器5000端口映射到linux主機(jī)5000端口,并將鏡像下載到/opt/data/registry/目錄下(默認(rèn)為/var/lib/registry目錄)命令如下:
注釋:
i:保持sdtin開放狀態(tài)
d:使容器以守護(hù)進(jìn)程方式后臺(tái)運(yùn)行,并打印容器id
t:分配一個(gè)tty(虛擬終端設(shè)備)
v: 綁定掛載一個(gè)容器內(nèi)的路徑到宿主機(jī)路徑
p:映射一個(gè)容器的端口到宿主機(jī)端口
restart:當(dāng)容器退出時(shí)的重啟策略
name: 給容器命名一個(gè)名稱
-–privileged=true :CentOS7中的安全模塊selinux把權(quán)限禁掉了,參數(shù)給容器加特權(quán),不加上傳鏡像會(huì)報(bào)權(quán)限錯(cuò)誤
-v /opt/data/registry:/var/lib/registry:默認(rèn)情況下,會(huì)將倉(cāng)庫(kù)存放于容器內(nèi)的/tmp/registry目錄下,指定本地目錄掛載到容器
三、客戶端上傳鏡像(先切換到客戶端在執(zhí)行)
1、從公共倉(cāng)庫(kù)拉取httpd鏡像 docker pull httpd
2、查看拉取鏡像 docker images
3、修改鏡像的tag docker tag 原名 修改名
docker tag httpd 192.168.152.159:5000/httpd
4、把打了tag的鏡像上傳到私有倉(cāng)庫(kù)
docker push 192.168.152.159:5000/httpd
5、查看鏡像的存儲(chǔ)目錄和文件(此命令在倉(cāng)庫(kù)服務(wù)器上運(yùn)行查看)
tree /opt/data/registry/docker/registry/v2/repositories/
6、測(cè)試從倉(cāng)庫(kù)拉取鏡像
1)刪除docker客戶端鏡像 docker rmi 192.168.152.159:5000/httpd
2)從倉(cāng)庫(kù)拉取剛才刪除的鏡像 docker pull 192.168.152.159:5000/httpd
注:以上操作完成docker倉(cāng)庫(kù)搭建!
轉(zhuǎn)載于:https://blog.51cto.com/13043516/2120260
總結(jié)
以上是生活随笔為你收集整理的Centos7 Docker私有仓库搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 做梦梦到前男友给我打电话是什么意思
- 下一篇: Centos用户和用户组管理