『高級篇』docker之鏡像倉庫(20)

云計算

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:『高級篇』docker之鏡像倉庫(20)

成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為三都企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都做網(wǎng)站,三都網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

三步走的第二步,開始查看鏡像倉庫,就一起學(xué)一學(xué)docker倉庫,倉庫分2種,別人家的倉庫也叫公共倉庫,自己的倉庫也叫私有倉庫。公共倉庫和私有倉庫的卻別就是網(wǎng)速,公共倉庫從公網(wǎng),私有倉庫是從局域網(wǎng),速度的差別,安全性,公共的肯定沒有私有的安全,保存在自己的硬盤上是最穩(wěn)的。其實在中級的時候我已經(jīng)說過docker倉庫的創(chuàng)建,這次用mac本來實現(xiàn)docker倉庫的創(chuàng)建。源碼:https://github.com/limingios/msA-docker

公有倉庫

最權(quán)威的公有倉庫就是hub.docker.com

打包
docker tag zookeeper:3.5 zhugeaming/zookeeper:3.5
docker login
docker push zhugeaming/zookeeper:3.5

私有倉庫(一)

https://hub.docker.com/_/registry/

docker pull registry:2

安裝說明

官方的安裝說明

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

push 到本地的registry
docker tag zookeeper:3.5 localhost:5000/zookeeper:3.5
docker push localhost:5000/zookeeper:3.5

在生產(chǎn)環(huán)境下,并不能滿足要求,單點登錄,一個服務(wù)器出了問題,另一個服務(wù)器就很難托管過來,它并沒有界面,給他交互不是很方便。
所以業(yè)內(nèi)又出現(xiàn)了一個新的叫harbor,更適合生產(chǎn)環(huán)境中。

私有倉庫(二)

https://github.com/goharbor/harbor/
詳細往下看 最終我放棄了mac下直接安裝harbor,通過vagrant的方式虛擬機來安裝harbor

準(zhǔn)備工作

選擇線下安裝

cp Downloads/harbor-offline-installer-v1.6.1.tgz ~/app/
cd ~/app
tar -xvf harbor-offline-installer-v1.6.1.tgz

修改配置文件

修改紅色部分

cd harbor
ll
vi harbor.cfg

方便管理,mac系統(tǒng)管理,修改存儲路徑

vi docker-compose.yml

安裝

奇葩問題

想在mac上安裝一個harbor 下載了harbor-offline-installer-v1.6.1.tgz

將文件放在了mac本的/user/liming/app/目錄下,并解壓 修改了配置文件和掛載文件的路徑。 運行install的時候必須加sudo,負責(zé)權(quán)限不足,加了sudu后可以正常安裝并安裝成功。 但是剩余的問題來了,里面的容器無法訪問掛載的配置文件,提示權(quán)限不足。為了彌補權(quán)限不足的問題,我在docker-compose.yml做了配置都增加了
privileged: true,但是不生效,困擾了幾天身邊沒有docker方面的人,幫忙解答下。

vagrant 方式安裝

https://github.com/limingios/msA-docker/tree/master/vagrant/harbor

修改host文件和端口,可以不修改端口
vi harbor.cfg

vi docker-compose.yml

安裝
./install.sh 

瀏覽

ifconfig

訪問harbor

http://172.28.128.3:8888
用戶名:admin
密碼:Harbor12345

library 公開的所有用戶都可以push

添加項目micro-service,私有項目

點擊項目可以進入項目中。

添加成員 項目管理員 等于 admin 開發(fā)人員 等于 對項目的鏡像 有push 和pull的權(quán)限 訪客 等于 只有 pull的權(quán)限

復(fù)制功能

生產(chǎn)環(huán)境,很多的機房,每個機房之間的網(wǎng)速是很快的,但是跨機房的,可能網(wǎng)速的穩(wěn)定性和速度就差一些,每個機房部署一個harbor,在通過一個中心的harbor,當(dāng)有鏡像的自動去同步其他的服務(wù)器,復(fù)制規(guī)則是可以針對項目的,每個項目自己的一個復(fù)制規(guī)則。

創(chuàng)建用戶

添加成員

分配開發(fā)人員

Harbor其實操作很簡單,隨便點點都了解了。

本地的微服務(wù)鏡像推送

現(xiàn)在想想辦法把鏡像都推送到mico-service里面

host文件修改
sudo vi /etc/hosts 

上傳基礎(chǔ)鏡像

hub.idig88.com 已經(jīng)配置了基礎(chǔ)

docker tag java:openjdk-8 hub.idig88.com:8888/micro-service/java:openjdk-8

The push refers to repository [hub.idig88.com:8888/micro-service/java]
Get https://hub.idig88.com:8888/v2/: http: server gave HTTP response to HTTPS client
配置地址:登錄服務(wù)器上。

vi /usr/lib/systemd/system/docker.service 
service docker restart

配置地址:本機mac。修改后點擊app& Restart

再次上傳基礎(chǔ)鏡像
docker login http://hub.idig88.com:8888 -u liming -p 密碼
docker push  hub.idig88.com:8888/micro-service/java:openjdk-8
docker tag python:3.6 hub.idig88.com:8888/micro-service/python:3.6
docker push hub.idig88.com:8888/micro-service/python:3.6

推送微服務(wù)到倉庫中

已經(jīng)將基礎(chǔ)的鏡像推送到了鏡像倉庫中,現(xiàn)在需要修改對應(yīng)的dockerfile文件,更改基礎(chǔ)鏡像的名稱。修改配置文件

6個微服務(wù)Dockerfile

From hub.idig88.com:8888/micro-service/

6個sh腳本修改增加了推送功能

查看倉庫

8個鏡像全部到位

PS:經(jīng)歷了2天大概做了不下20小時,我最終還是放棄了mac下安裝harbor的方式,時刻要記住mac只是個編輯器,不要什么都在上邊裝,很多時候通過虛擬機更類似生成環(huán)境。這一次說完了docker倉庫,下次開始服務(wù)編排工具。感覺好爽啊!

網(wǎng)站名稱:『高級篇』docker之鏡像倉庫(20)
鏈接地址:http://muchs.cn/article10/cgppgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、面包屑導(dǎo)航、搜索引擎優(yōu)化App開發(fā)、網(wǎng)站制作、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計