溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

發(fā)布時(shí)間:2020-07-20 16:57:25 來(lái)源:網(wǎng)絡(luò) 閱讀:234 作者:IT人故事 欄目:云計(jì)算

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

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

公有倉(cāng)庫(kù)

最權(quán)威的公有倉(cāng)庫(kù)就是hub.docker.com

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

私有倉(cāng)庫(kù)(一)

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

docker pull registry:2

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 安裝說(shuō)明

    官方的安裝說(shuō)明

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

私有倉(cāng)庫(kù)(二)

https://github.com/goharbor/harbor/
詳細(xì)往下看 最終我放棄了mac下直接安裝harbor,通過vagrant的方式虛擬機(jī)來(lái)安裝harbor

  • 準(zhǔn)備工作

    選擇線下安裝

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 修改配置文件

    修改紅色部分

cd harbor
ll
vi harbor.cfg

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

vi docker-compose.yml

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 安裝

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 奇葩問題

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

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

vagrant 方式安裝

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

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

    『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

vi docker-compose.yml

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 安裝
    ./install.sh 

    『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 瀏覽

    ifconfig

    『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 訪問harbor

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

添加項(xiàng)目micro-service,私有項(xiàng)目

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

點(diǎn)擊項(xiàng)目可以進(jìn)入項(xiàng)目中。

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 添加成員
    1. 項(xiàng)目管理員 等于 admin
    2. 開發(fā)人員 等于 對(duì)項(xiàng)目的鏡像 有push 和pull的權(quán)限
    3. 訪客 等于 只有 pull的權(quán)限

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 復(fù)制功能

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 創(chuàng)建用戶

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 添加成員

    分配開發(fā)人員
    『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

Harbor其實(shí)操作很簡(jiǎn)單,隨便點(diǎn)點(diǎn)都了解了。

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

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

  • host文件修改
    sudo vi /etc/hosts 

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 上傳基礎(chǔ)鏡像

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

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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ù)器上。

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

配置地址:本機(jī)mac。修改后點(diǎn)擊app& Restart

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 再次上傳基礎(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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

推送微服務(wù)到倉(cāng)庫(kù)中

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

  • 6個(gè)微服務(wù)Dockerfile

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

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

  • 6個(gè)sh腳本修改增加了推送功能
    『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

查看倉(cāng)庫(kù)

8個(gè)鏡像全部到位

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

『高級(jí)篇』docker之鏡像倉(cāng)庫(kù)(20)

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI