私有容器映象倉庫 Harbor

2020-08-14 01:04:39

容器映象倉庫作用及分類

容器映象倉庫作用

在这里插入图片描述

公有容器映象倉庫

公有容器映象倉庫一般爲docker官方提供的dockerhub,其供全球使用者上傳或下載docker容器映象使用。存取網址爲:hub.docker.com

私有容器映象倉庫

私有容器映象倉庫可以使用dockerhub中提供的registry容器映象來實現,但是其過於簡陋,因此,VMWare公司的程式設計師對其進行封裝,發佈了Harbor,使其更利用在企業內部進行部署和使用。

公有容器映象倉庫

公有容器映象倉庫註冊

在这里插入图片描述

公有容器映象倉庫存取

https://hub.docker.com/

企業級私有容器映象倉庫

私有容器映象倉庫 Harbor介紹

Harbor是VMware公司開源的企業級Registry專案, 可以幫助使用者快速搭建一個企業級的Docker registry服務.

harbor由python語言開發, 需要使用docker-compose工具進行啓動

私有容器映象倉庫部署 Harbor

在这里插入图片描述
需要的工具:

  • 使用epel源安裝pip
  • 使用pip安裝docker-compose

私有容器映象倉庫部署環境準備

docker準備
使用清華大學開源軟體映象站
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
獲取YUM源

 wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安裝docker-ce

yum -y install docker-ce

修改docker.service啓動方法

 vim /usr/lib/systemd/system/docker.service
12 # exists and systemd currently does not
support the cgroup feature set requi   red
13 # for containers run by docker
14 ExecStart=/usr/bin/dockerd -H fd:// --
containerd=/run/containerd/containerd.sock
15 ExecReload=/bin/kill -s HUP $MAINPID
** 把其中第14行-H(含)後面全部刪除 **

啓動docker,並設定爲開機自啓動

systemctl enable docker
systemctl start docker

開啓主機內核轉發

vim /etc/sysctl.conf

在檔案最後一行新增如下內容
net.ipv4.ip_forward = 1

sysctl -p

net.ipv4.ip_forward = 1
docker compose準備
使用清華大學開源軟體映象站,僅需爲harborhost主機準備即可。

yum -y install epel-release
yum -y install python2-pip
pip install --upgrade pip
yum -y install gcc libffidevel python-devel openssl-devel
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose
docker-compose version

harbor軟體準備

 ls

anaconda-ks.cfg harbor-offline-installerv1.10.1.tgz

Harbor部署

docker load -i prepare.tar
tar xf harbor-offlineinstaller-v1.10.1.tgz -C /usr/local
cd /usr/local/ harbor/
ls

common.sh harbor.v1.10.1.tar.gz harbor.yml install.sh LICENSE prepare

vim harbor.yml
# Configuration file of Harbor
# The IP address or hostname to access admin UI
and registry service.
# DO NOT use localhost or 127.0.0.1, because
Harbor needs to be accessed by external clients.
hostname: 192.168.216.12
修改hostname爲自己主機IP地址或域名。
由於本次演示不使用證書方式存取harbor,因此需要註釋以下行內
容:13、15、17、18
13 #https:
14   # https port for harbor, default is 443
15 # port: 443
16   # The path of cert and key files for nginx
17 # certificate: /your/certificate/path
18 # private_key: /your/private/key/path

執行環境準備指令碼,用於生成所需要檔案。

 ./prepare

執行安裝指令碼

./install.sh

爲docker新增本地私有映象倉庫

vim /etc/docker/daemon.json
{
	 "insecure-registries":["http://192.168.216.12"]
}

Harbor存取

在这里插入图片描述
admin/Harhor12345
在这里插入图片描述

docker使用harbor倉庫

爲docker新增本地私有映象倉庫

vim /etc/docker/daemon.json
{
        "insecure-registries":["http://192.168.216.12"]
}

登錄到harbor

docker login 192.168.216.12
Username: admin 使用者名稱
Password: Harbor12345 密碼

重打映象標籤

 docker pull centos
 docker tag centos:latest 192.168.216.12/library/centos:latest
 docker push 192.168.216.12/library/centos:latest