烂泥:企业docker仓库harbor搭建与配置(2018.05.28更新)

本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下

jenkins技术分享QQ群:571981257

从去年年末,我这边已经把目标转向了docker,而docker hub有自己共有的docker仓库。

但是由于众所周知的原因,从docker hub上拉取docker镜像很慢。所以就需要搭建公司内部私有的docker仓库。

docker仓库的搭建我们可以使用docker官方提供的docker镜像,我们也可以使用vmware公司提供的harbor来搭建docker私有仓库。

因为harbor的搭建和配置,以及UI、认证等都做的比较好,所以docker的搭建,我们就使用harbor。

PS:本次OS使用的是centos7。

2018.05.28更新,升级harbor版本到V1.5.0。

2018.04.18更新,去除网易源。

2017.11.10更新,添加国内harbor下载国内源:

国内镜像站点:
http://harbor.orientsoft.cn/
wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz

 

一、环境初始化

在正式安装与配置harbor之前,我们需要对OS进行环境初始化。

1.1 升级OS内核

升级OS内核,我们可以参考<<烂泥:centos7 yum方式升级内核>>这篇文章。

uname –a

clip_image001

1.2 yum源安装网易

因为我们要安装相关软件,所以就使用国内的yum源,在此使用的是中科大的yum源。

cat > /etc/yum.repos.d/CentOS-Base.repo << “EOF”

[base]

name=CentOS-$releasever – Base
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever – Updates
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever – Extras
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever – Plus
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

EOF

clip_image002

查看CentOS-Base.repo文件如下:

cat /etc/yum.repos.d/CentOS-Base.repo

clip_image003

1.3 安装阿里云EPEL源

安装阿里云EPEL源,如下:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

cat /etc/yum.repos.d/epel.repo

clip_image004

1.4 安装docker

有关docker的安装方式,建议参考<<烂泥:docker的安装方式>>这篇文章。

在此我们使用第一种安装方式,如下:

yum -y install docker

clip_image005

启动docker,使用如下命令行:

systemctl start docker

systemctl enable docker

systemctl status docker

clip_image006

查看docker的版本,如下:

docker version

clip_image007

1.5 安装docker-compose

docker-compose的安装可以参考<<烂泥:docker-compose安装>>这篇文章,如下:

yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python-pip

clip_image008

使用pip方式安装docker-compose,使用如下命令:

pip install -U docker-compose

clip_image009

查看docker-compose的版本,如下:

docker-compose version

clip_image010

二、下载和配置harbor

我们可以直接从github上下载最新版本的harbo,如下:

https://github.com/vmware/harbor/releases

clip_image011

下载harbor,使用如下命令:

wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz

clip_image012

解压harbor,使用如下命令:

tar -xf harbor-offline-installer-v1.1.2.tgz

cd harbor

clip_image013

修改harbor配置文件,如下:

vim harbor.cfg

hostname = docker.ilanni.com

harbor_admin_password = ilanni12345

clip_image014

clip_image015

其中hostname表示要访问的url,harbor_admin_password表示登录docker仓库的密码。

harbor配置文件,其实需要我们修改的不多。如果要修改相关的配置,我们也可以在harbor安装完毕后,在harbor的控制台就行修改。

三、安装harbor

安装harbor就比较简单了,直接使用install.sh脚本即可。

./install.sh

clip_image016

步骤一会下载相关的docker镜像,这个过程根据各自的网络情况不同花费的时间也不同,相关的docker镜像如下:

docker images

clip_image017

clip_image018

clip_image019

通过以上图,我们可以很明显的看出harbor已经安装完毕。

现在我们来访问harbor,如下:

clip_image020

harbor默认的管理员账号为admin,密码为harbor.cfg文件中配置。

现在登录到harbor管理控制台后台,如下:

clip_image021

四、harbor集成ldap和mail

登录到harbor后台后,我们切换到配置管理页面,进行相关的配置。

首先配置harbor与ldap进行集成,如下:

clip_image022

ldap相关配置如下:

ldap://10.251.253.74

uid=svnuser,ou=People,dc=qjdchina,dc=com

ou=people,dc=qjdchina,dc=com

harbor与邮箱进行集成,如下:

clip_image023

通过上图,我们可以很明显的看出harbor以及与邮箱集成成功。

五、harbor缓存远程docker镜像

要使harbor缓存远程docker镜像,需要我们做相关的配置,首先是在harbor服务器进行配置。

在harbor服务器上,需要修改harbor的config.yml文件,如下:

vim common/config/registry/config.yml

proxy:

remoteurl: https://registry-1.docker.io

clip_image024

然后使用docker-compose命令,对harbor进行相关操作,如下:

docker-compose stop && docker-compose rm -f && docker-compose up –d

clip_image025

其次要修改客户端的docker默认仓库地址,修改为前面搭建的harbor仓库地址,如下:

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd –registry-mirror=http://docker.ilanni.com -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

clip_image026

重启docker服务,使用如下命令:

systemctl daemon-reload && systemctl restart docker && systemctl status docker

clip_image027

测试harbor缓存,在docker客户端拉取一个redis镜像,如下:

docker pull redis

clip_image028

docker客户端拉取完毕之后,登录harbor管理控制台,如下:

clip_image029

通过上图,我们可以很容易的看到harbor已经缓存了最新的redis镜像。

PS:harbor服务器端的docker默认仓库一定不能修改,而否则harbor无法缓存远程的docker镜像。

同时经过观察发现,能不使用harbor缓存还是别使用。如果docker客户端一定要提高拉取官方docker镜像速度的话,可以使用国内的网易和中科大的docker镜像源。

PS:国内docker加速镜像源

网易docker加速镜像源:

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd –registry-mirror=http://hub.c.163.com -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

systemctl daemon-reload && systemctl restart docker && systemctl status docker

中科大docker加速镜像源:

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd –registry-mirror=https://docker.mirrors.ustc.edu.cn -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

systemctl daemon-reload && systemctl restart docker && systemctl status docker

未经允许不得转载:烂泥行天下 » 烂泥:企业docker仓库harbor搭建与配置(2018.05.28更新)

赞 (10) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏