一篇文章搞定Docker私服搭建--Harbor

image
Docker的應用愈來愈普遍,在公司內部搭建一臺私服是剛需需求。Docker官方提供了Registry具有此功能,但管理方面較弱,不適合企業級的應用,今天給你們介紹Harbor的使用。 Harbor是由VMware公司開源的企業級的Docker Registry管理項目,它包括權限管理(RBAC)、LDAP、日誌審覈、管理界面、自我註冊、鏡像複製和中文支持等功能。 鑑於網上不少文件介紹較爲片面,本篇文章做出以下總結和整理。 文章分爲安裝、Harbor使用介紹、鏡像操做三部分,全面介紹Harbor的使用,總體來講,安裝簡單、使用簡單。python

相關安裝

Docker安裝

# yum 包更新
[root@centos7 ~]# yum update

# 卸載舊版本 Docker
[root@centos7 ~]# yum remove docker docker-common docker-selinux docker-engine

# 安裝軟件包
[root@centos7 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker yum源
[root@centos7 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安裝 Docker
[root@centos7 ~]# yum -y install docker-ce

# 啓動 Docker
[root@centos7 ~]# systemctl start docker

# 查看 Docker 版本號
[root@centos7 ~]# docker --version
複製代碼

Docker Compose 安裝

# 安裝 epel-release
[root@centos7 ~]# yum install epel-release

# 安裝 python-pip
[root@centos7 ~]# yum install -y python-pip

# 安裝 docker-compose
[root@centos7 ~]# pip install docker-compose

# 安裝 git
[root@centos7 ~]# yum install -y git

# 查看 docker-compose 版本號
[root@centos7 ~] docker-compose -version
複製代碼

若是安裝python出現以下錯誤:linux

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-WImLdR/pyparsing/
複製代碼

可嘗試執行以下指令:git

sudo python -m pip install --upgrade --force pip
sudo pip install setuptools==33.1.1
複製代碼

安裝harbor

下載

文件地址:下載地址-githubgithub

wget https://github.com/goharbor/harbor/releases/download/v1.9.3/harbor-offline-installer-v1.9.3.tgz
複製代碼

這裏經過以上指令下載,默認下載在當前文件夾docker

配置

解壓,獲得以下json

tar -zxvf harbor-offline-installer-v1.9.3.tgz
複製代碼

配置harbor.ymlcentos

配置docker-compose.yml服務器

運行安裝指令

sudo ./install.sh
複製代碼

若是出現以下結果,恭喜你,成功安裝app

至此,安裝步驟完成ui

harbor使用

訪問地址 //hostname:port (hostname 和 port 爲上述配置)

如下是對關鍵功能介紹

項目

以項目的維度劃分鏡像,能夠理解爲鏡像組,相同鏡像的不一樣版本能夠放在一個項目裏,一樣項目裏有完成的倉庫、成員、標籤、日誌的管理。 注意,此處的標籤,不建議維護,用全局的設置,最好最好統一,如何設置,稍後講到

日誌

harbor將日誌分爲日誌和事件日誌,比較簡單,就不贅述了

系統管理

用戶管理 用於操做用戶的增刪、密碼重置

倉庫管理 拉取其餘服務器鏡像到本地

同步管理 可定時去拉取最新鏡像

任務

垃圾清理 定時清空無用鏡像

配置管理

此功能比較清晰,主要想介紹下標籤,此處標籤爲全局,供全部鏡像使用

鏡像推送

首先面臨的是HTTP推送問題,

ERROR: Get https://192.168.1.111:81/v2/: http: server gave HTTP response to HTTPS client
複製代碼

docker默認的是HTTPS,大部分場景Harbor在內網,沒有HTTPS,則須要設置去除,方法簡單:

Linux操做

vi /etc/docker/daemon.json
# 內容以下
{
    "insecure-registries":["harbor.goodcol.com:81"]
}
# 加載和重啓服務
systemctl daemon-reload
systemctl restart docker
複製代碼

鏡像推送和拉取

#從私服拉取鏡像 docker pull 私服地址/倉庫項目名/鏡像名:標籤
複製代碼

鏡像推送

#推送
docker login 服務器地址:port

#鏡像打標籤 ,要從新打標籤,標籤默認是官網地址
docker tag 鏡像名:標籤 私服地址/倉庫項目名/鏡像名:標籤

#推送指令
docker push 私服地址/倉庫項目名/鏡像名:標籤
相關文章
相關標籤/搜索