Dokcer搭建Harbor仓库

写在前面

Docker环境的搭建必须要基于Centos7.0以上版本,本文章使用的系统为:CentOS Linux release7.2.1511 (Core),查看方式见:

 

Docker版本更新迭代比较快,版本差异比较大建议使用版本:17.09.1-ce,安装方式见下文:

 

一、环境初始化

1.1 安装基础工具

搭建过程需要使用到vim和wget等工具,安装命令如下:

yum install -y vim wget

1.2 安装阿里云EPEL源

安装阿里云EPEL源,如下:

rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

1.3 安装docker

卸载旧版本

老版本的Docker被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。

yum remove docker docker-common docker-selinuxdocker-engine

使用存储库进行安装

首次在新的主机上安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

安装所需的软件包 yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要devicemapper存储驱动程序。

yum install -y yum-utils device-mapper-persistent-datalvm2

 

 

使用以下命令来设置稳定的存储库。即使您想从边缘或测试存储库安装构建,也总是需要稳定的存储库。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装DOCKER CE

安装最新版本的Docker CE,或者转到下一步安装特定版本。

yum install -y docker-ce

警告:如果您启用了多个Docker存储库,则安装或更新而不指定版本yum install或 yum update命令将始终安装尽可能高的版本,可能不适合您的稳定性需要。

启动Docker

systemctl start docker

Docker开机自启动

systemctl enable docker

docker通过运行hello-world 映像验证安装是否正确。

docker run hello-world

详细安装过程参考docker官方文档https://docs.docker.com/

1.4 安装docker-compose

参照1.2阿里云EPEL源安装完毕后,现在来安装pip,如下:

yum -y install certbot libevent-devel gcclibffi-devel python-devel openssl-devel python2-pip

Yum方式安装完毕pippip的版本是8.1.2,现在我们来升级pip版本如下:

pip install --upgrade pip

Pip版本升级完毕后,我们现在来开始安装docker-compose,使用如下命令:

pip install -U docker-compose

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

docker-compose version

which docker-compose

二、下载和配置harbor

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

#harbor官方:

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

#harbor国内:

http://harbor.orientsoft.cn/

下载harbor使用如下命令

# harbor官方地址:

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

#harbor国内地址(速度更快):

wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz

解压harbor,使用如下命令:

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

cd harbor

修改harbor配置文件,如下:

vim harbor.cfg

hostname = 192.168.109.131

三、安装harbor

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

./install.sh

 

 

 

 

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

docker images

 

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

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

 

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

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

四、向harbor提交 docker镜像

4.1 Docker客户端

添加私库地址为信任地址,并添加加速器地址,如下:

echo"{\"insecure-registries\":[\"192.168.109.131:80\"],\"registry-mirrors\":[\"http://bcfb7352.m.daocloud.io\"]}"> /etc/docker/daemon.json

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

systemctl daemon-reload && systemctlrestart docker && systemctl status docker

注意:重启是出现一下问题:

 

执行一下指令:

rm -rf /var/run/docker.sock && systemctldaemon-reload && systemctl restart docker && systemctl statusdocker

在docker客户端拉取一个busybox测试镜像,如下:

docker pull busybox

登录到haobor私库,指定私库用户名、密码、私库地址:

docker login -u admin -p Harbor12345 192.168.109.131:80

 

         修改busybox镜像 tag,形成新的镜像192.168.109.131:80/library/busybox:

docker tag busybox 192.168.109.131:80/library/busybox

         提交新镜像192.168.109.131:80/library/busybox 到Harbor私库:

docker push 192.168.109.131:80/library/busybox

 

4.2 Harbor服务器端

登录harbor管理控制台,如下:

 

五、harbor缓存远程docker镜像

 

5.1 Harbor服务器端

要使harbor缓存远程docker镜像,需要我们做相关的配置,首先是在harbor服务器进行配置。在harbor服务器上,需要修改harbor的config.yml文件,如下:

vim common/config/registry/config.yml

proxy:

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

 

然后使用docker-compose命令,对harbor进行重启Harbor,如下:

docker-composestop && docker-compose rm -f && docker-compose up -d

 

5.2 Docker客户端

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

docker pull redis

 

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

 

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

你可能感兴趣的:(微服务,docker)