本文由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下载国内源:
一、环境初始化
在正式安装与配置harbor之前,我们需要对OS进行环境初始化。
1.1 升级OS内核
升级OS内核,我们可以参考<<烂泥:centos7 yum方式升级内核>>这篇文章。
uname –a
1.2 yum源安装网易
因为我们要安装相关软件,所以就使用国内的yum源,在此使用的是中科大的yum源。
cat > /etc/yum.repos.d/CentOS-Base.repo << “EOF”
[base]
EOF
查看CentOS-Base.repo文件如下:
cat /etc/yum.repos.d/CentOS-Base.repo
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
1.4 安装docker
有关docker的安装方式,建议参考<<烂泥:docker的安装方式>>这篇文章。
在此我们使用第一种安装方式,如下:
yum -y install docker
启动docker,使用如下命令行:
systemctl start docker
systemctl enable docker
systemctl status docker
查看docker的版本,如下:
docker version
1.5 安装docker-compose
docker-compose的安装可以参考<<烂泥:docker-compose安装>>这篇文章,如下:
yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python-pip
使用pip方式安装docker-compose,使用如下命令:
pip install -U docker-compose
查看docker-compose的版本,如下:
docker-compose version
二、下载和配置harbor
我们可以直接从github上下载最新版本的harbo,如下:
https://github.com/vmware/harbor/releases
下载harbor,使用如下命令:
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
解压harbor,使用如下命令:
tar -xf harbor-offline-installer-v1.1.2.tgz
cd harbor
修改harbor配置文件,如下:
vim harbor.cfg
hostname = docker.ilanni.com
harbor_admin_password = ilanni12345
其中hostname表示要访问的url,harbor_admin_password表示登录docker仓库的密码。
harbor配置文件,其实需要我们修改的不多。如果要修改相关的配置,我们也可以在harbor安装完毕后,在harbor的控制台就行修改。
三、安装harbor
安装harbor就比较简单了,直接使用install.sh脚本即可。
./install.sh
步骤一会下载相关的docker镜像,这个过程根据各自的网络情况不同花费的时间也不同,相关的docker镜像如下:
docker images
通过以上图,我们可以很明显的看出harbor已经安装完毕。
现在我们来访问harbor,如下:
harbor默认的管理员账号为admin,密码为harbor.cfg文件中配置。
现在登录到harbor管理控制台后台,如下:
四、harbor集成ldap和mail
登录到harbor后台后,我们切换到配置管理页面,进行相关的配置。
首先配置harbor与ldap进行集成,如下:
ldap相关配置如下:
ldap://10.251.253.74
uid=svnuser,ou=People,dc=qjdchina,dc=com
ou=people,dc=qjdchina,dc=com
harbor与邮箱进行集成,如下:
通过上图,我们可以很明显的看出harbor以及与邮箱集成成功。
五、harbor缓存远程docker镜像
要使harbor缓存远程docker镜像,需要我们做相关的配置,首先是在harbor服务器进行配置。
在harbor服务器上,需要修改harbor的config.yml文件,如下:
vim common/config/registry/config.yml
proxy:
remoteurl: https://registry-1.docker.io
然后使用docker-compose命令,对harbor进行相关操作,如下:
docker-compose stop && docker-compose rm -f && docker-compose up –d
其次要修改客户端的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
重启docker服务,使用如下命令:
systemctl daemon-reload && systemctl restart docker && systemctl status docker
测试harbor缓存,在docker客户端拉取一个redis镜像,如下:
docker pull redis
docker客户端拉取完毕之后,登录harbor管理控制台,如下:
通过上图,我们可以很容易的看到harbor已经缓存了最新的redis镜像。
PS:harbor服务器端的docker默认仓库一定不能修改,而否则harbor无法缓存远程的docker镜像。
同时经过观察发现,能不使用harbor缓存还是别使用。如果docker客户端一定要提高拉取官方docker镜像速度的话,可以使用国内的网易和中科大的docker镜像源。
PS:国内docker加速镜像源
网易docker加速镜像源:
vim /usr/lib/systemd/system/docker.service
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更新)