docker私有鏡像倉庫搭建

Harbor 是 Vmwar 公司開源的 企業(yè)級的 Docker Registry 管理項目

它主要 提供 Dcoker Registry 管理UI,可基于角色訪問控制, AD/LDAP 集成,日志審核等功能,完全的支持中文。

Harbor 的所有組件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。

Harbor具有如下特點:

基于角色的訪問控制 - 用戶與Docker鏡像倉庫通過“項目”進行組織管理,一個用戶可以對多個鏡像倉庫在同一命名空間(project)里有不同的權(quán)限。

鏡像復(fù)制 - 鏡像可以在多個Registry實例中復(fù)制(同步)。尤其適合于負載均衡,高可用,混合云和多云的場景。

圖形化用戶界面 - 用戶可以通過瀏覽器來瀏覽,檢索當前Docker鏡像倉庫,管理項目和命名空間。

AD/LDAP 支持 - Harbor可以集成企業(yè)內(nèi)部已有的AD/LDAP,用于鑒權(quán)認證管理。

審計管理 - 所有針對鏡像倉庫的操作都可以被記錄追溯,用于審計管理。

國際化 - 已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語言將會添加進來。

RESTful API - RESTful API 提供給管理員對于Harbor更多的操控, 使得與其它管理軟件集成變得更容易。

部署簡單 - 提供在線和離線兩種安裝工具, 也可以安裝到vSphere平臺(OVA方式)虛擬設(shè)備。

Harbor 獲取地址

Harbor中文官網(wǎng):https://vmware.github.io/harbor/cn/

Github地址:https://github.com/vmware/harbor

Harbor下載地址:https://github.com/vmware/harbor/releases

Harbor二進制離線包鏡像站點:http://harbor.orientsoft.cn/

我這里下載的是 harbor-offline-installer-v1.5.0.tgz

安裝前準備

系統(tǒng)版本 centos7

安裝docker

詳情請看 基于容器安裝運行Docker私有倉庫及添加認證 ,具體命令如下:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

exclude=kube*

EOF

?

## Install prerequisites.

?

yum install -y yum-utils device-mapper-persistent-data lvm2

?

## Add docker repository.

?

##yum-config-manager -y --add-repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo

yum-config-manager -y --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

?

## Install docker.

?

yum makecache fast && yum -y install docker-ce-18.06.1.ce

?

## Create /etc/docker directory.

?

mkdir /etc/docker

?

# Setup daemon.

?

mkdir -p /etc/systemd/system/docker.service.d

?

# Restart docker.

?

systemctl daemon-reload

systemctl enable docker

systemctl restart docker

systemctl status docker

?

systemctl disable firewalld

systemctl stop firewalld

?

# Set SELinux in permissive mode (effectively disabling it)

?

# 將 SELinux 設(shè)置為 permissive 模式(將其禁用)

?

setenforce 0

sed -i 's/^SELINUX=.*$/SELINUX=permissive/' /etc/selinux/config

swapoff -a

?

修改docker啟動文件

#vi /usr/lib/systemd/system/docker.service? 修改為ExecStart=/usr/bin/dockerd --insecure-registry=192.168.163.139? ------------ip寫自己的ip但是不要寫127.0.0.1

安裝docker-compose

# yum -y install epel-release

# yum -y install python-pip

?

#yum install -y docker-compose

# docker-compose -version

下載注冊庫鏡像

#docker pull registry:2

安裝harbor

#tar zxvf harbor-offline-installer-v1.5.0.tgz

#cd harbor

#sed -i "s/^hostname = reg.mydomain.com/hostname = 192.168.163.139/g" harbor.cfg

#./install.sh

注意將這個地方的IP改成自己機器的IP,不要使用localhost,127.0.0.1

安裝成功后,如下:

Creating registry ... done

Creating harbor-ui ... done

Creating network "harbor_harbor" with the default driver

Creating nginx ... done

Creating harbor-db ...

Creating harbor-adminserver ...

Creating registry ...

Creating harbor-ui ...

Creating harbor-jobservice ...

Creating nginx ...

? ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://192.168.163.139.

For more details, please visit https://github.com/vmware/harbor .

安裝完成后通過瀏覽器訪問http://192.168.163.139,如下:


默認登錄用戶名密碼:admin/Harbor12345

登陸后的見面如下:


下來我們是用docker login登錄,如下:


這個地方輸入的用戶名密碼是我們剛安裝的Harbor的登錄用戶名密碼

下面將我們構(gòu)建的JDK和SpringBoot demo鏡像push到我們搭建的私有倉庫上

創(chuàng)建倉庫

現(xiàn)在我們在瀏覽器管理端創(chuàng)建個項目,如下


確定后,下來我們再到終端命令行將image的名字修改為格式:userip/項目名/image名字:版本號

首先我們查看一下本地鏡像:docker images


給要push到私有倉庫的鏡像打上tag:

docker tag zjf/springboot 192.168.163.139/spring/zjf/springboot

zjf/springboot是我們本地的鏡像名稱,

192.168.163.139是我們私有倉庫服務(wù)的IP地址

spring是我們剛才建立的項目名稱

然后docker images就可以看到我們的tag鏡像


然后將剛才打上tag的鏡像push到私有倉庫上

docker push 192.168.163.139/spring/zjf/springboot

然后我們就可以在web界面看到我們的鏡像文件了


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容