Habor是由VMWare公司開源的容器鏡像倉庫,我所在的單位由于自身原因,在實際生產(chǎn)環(huán)境中,盡量不直接使用開源軟件,需要對開源軟件的代碼進行修改,我打算用Habor來做代碼倉庫管理。
下載離線offline安裝包:https://github.com/vmware/harbor/releases
目前最新的版本是harbor-offline-installer-v1.9.1
軟件解壓縮后如下圖
Harbor安裝文件
# vi harbor.yml hostname: 1.1.1.1 //修改為你的服務(wù)器地址 # ./prepare 如果報如下錯誤 # ./prepare:行48: docker: 未找到命令 說明我們的環(huán)境缺少docker指令集,安裝方法如下 # dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm # curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo # dnf install docker-ce 結(jié)束安裝后驗證docker版本
docker版本
# systemctl enable docker # systemctl start docker //設(shè)置開機自啟及啟動docker # 重新執(zhí)行prepare
prepare程序執(zhí)行完成
準備安裝docker-compose,先看看目前的最新版本,是1.24.0 https://github.com/docker/compose/blob/master/CHANGELOG.md
dockor-compose最新版本
# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose # chmod +x /usr/bin/docker-compose
如果第一次執(zhí)行curl很慢,直接可以Ctrl+C跳出再執(zhí)行一遍
第一次慢第二次就好了
下載好后,看看版本
docker-compose版本
然后執(zhí)行
./install.sh //安裝并啟動Harbor
安裝成功
# docker-compose ps //查看運行狀態(tài)
運行狀態(tài)
用默認的用戶名admin和密碼Harbor12345登陸WEB界面
Harbor-WEB
中文頁面指令清晰
到此,harbor-v1.9.1就已經(jīng)安裝完畢了,說一下簡單使用,需要管理員先建立一個普通賬戶
創(chuàng)建用戶
我們建立了一個名為tech的用戶,密碼至少要8位,按軟件提示來,然后我們將他加入默認的項目組里,并賦權(quán)開發(fā)人員給他
賦權(quán)
這里對這幾個角色進行一下說明
項目管理員:所有權(quán)限
維護人員:管理鏡像倉庫,可分配權(quán)限
開發(fā)人員:讀寫項目的權(quán)限
訪客:當用戶未登錄時,該用戶視為匿名用戶。匿名用戶不能訪問私有項目,只能訪問公開項目
先看介紹
https://hub.docker.com/editions/community/docker-ce-desktop-windows?tab=description
需要Win10的版本,Win7、Win8 等需要利用 docker toolbox 來安裝,我就是Win 10版本,頁面提示下載需要注冊ID,我注冊了一個,雖然下載到安裝包了,但經(jīng)過測試有下載地址可以直接下載,下載URL放出來給大家,大家就不用去注冊了,下載包800多M,請用下載工具下載。
https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe
在Win10上雙擊安裝
Win10安裝Docker
安裝后不要點Close and Log out,點了機器就重啟了,先保存所有沒保存的資料后,再點這個提示。重啟后,彈出如下界面,按要求點OK,等一會兒,機器就又重啟了。
自動安裝環(huán)境
重啟后,圖標顯示,Docker Desktop已經(jīng)運行中了。。。
運行中
用CMD打開終端命令行,看看版本
Win10上的Docker版本
繼續(xù)安裝kitematic,它是docker在Win系統(tǒng)下的圖形化工具,下載URL如下,63M
https://download.docker.com/kitematic/Kitematic-Windows.zip
下載完成后,把這個ZIP包解壓到如下圖位置,需要建立一個名為Kitematic的文件夾
解壓縮ZIP包
雙擊Kitematic.exe啟動
啟動界面
點右下角的 SKIP FOR NOW 跳過這個界面,看到如下頁面
鏡像源都是國外地址,比較慢,我們需要按如下操作更換鏡像源地址
點擊托盤處docker圖標右鍵選擇-Settings-Daemon,這個位置很重要,后面會講連接方面的問題
中國官方鏡像源地址為:https://registry.docker-cn.com
替換中國鏡像源
再次打開Kitematic.exe,加載鏡像會感覺快一些。下面我們部署一個Nginx Hello World容器。
點擊Create,等待連接Docker Hub,一會兒就部署完了,如下圖
部署完成
通過 http://localhost:32770 訪問,可以看到nginx提示頁面。
nginx
到這里,我們算剛?cè)腴T,在自己的 Win 10 操作系統(tǒng)上安裝了Docker,并且通過 Kitematic 管理 Docker 部署了一個 Hello World Ngnix 容器。還有其他好多容器,大家可以慢慢研究。
再說回我們要干的事情,在Win 10上連接我們自己搭建的私有Harbor
>docker login Harbor_IP
報如下錯誤
win機器連接 harbor報錯
這里折騰了很久,總是這個錯誤,網(wǎng)上的文章無數(shù),說了半天在linux建立的私有Harbor服務(wù)器上增加一個/etc/docker/daemon.json文件,建立insecure-registries屬性,其實經(jīng)過半天的測試發(fā)現(xiàn)他說對了一半,這里說一下Client和Server的關(guān)系,這是很多文章沒有講明白的。
Server:我們定義為一臺CentOS8_1905,上面安裝Docker環(huán)境+Harbor,沒有開HTTPS,用HTTP服務(wù)訪問Harbor
Client_1:我們定義為另一臺CentOS8_1905,上面安裝Docker環(huán)境
Client_2:我們定義為一臺Win10,上面安裝Docker環(huán)境
我們假定都是Client向Server推和拉鏡像,那么我們需要在Client_1上建立daemon.json文件
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://registry.docker-cn.com"],
"insecure-registries": ["Server_IP"]
}
我們從Client_1 執(zhí)行如下命令就不會報連接被拒絕錯誤
# docker login Server_IP
Client_2的Win 10系統(tǒng)呢,其實非常簡單,和Linux系統(tǒng)一樣
右下角鼠標右鍵點鯨魚圖標,選擇Settings,彈出的頁面選擇Daemon,就可以和Linux一樣增加這兩個屬性了
Daemon
Insecure registries 里填 Server_IP,下面填鏡像地址,填寫完后點擊Apply,Docker會自動重啟,然后再用docker命令登陸Server_IP,就正常了
正常登陸
至此,Docker 環(huán)境在Win10 和 CentOS8 上的搭建及簡單的使用以及Harbor和Kitematic的搭建和簡單使用均告一段落,歡迎大家留言溝通交流。