Harbor是由VMware公司开发并开源的企业级的Docker镜像仓库的管理项目,它包括镜像的权限管理(RBAC)、目录访问(LDAP)、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
视频讲解如下 |
---|
【赵渝强老师】Docker的私有镜像仓库Harbor |
为了更好地演示Harbor的安装和部署的过程,这里单独准备一台虚拟机作为运行Harbor的主机。下图展示了Harbor主机的网络配置和主机名信息。
一、 安装Docker和Docker Compose
(1)在Harbor的主机上关闭Linux防火墙和SELinux。
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
(2)配置Harbor主机的主机名和IP地址的映射,编辑文件“/etc/hosts”加入以下的内容。
192.168.79.10 my.harbor.com
(3)使用yum安装Docker
yum -y install docker
(4)启动Docker的服务
systemctl start docker
systemctl enable docker
(5)安装Docker Compose。下面的指令将从GitHub上下载Docker Compose服务编排工具,并保存到本地的“/usr/local/bin/docker-compose”文件中。
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose# 提示:Docker Compose是Docker的服务编排工具,
# 关于它的使用会在后续课程中介绍。
# 登录GitHub网站可以查看Docker Compose的最新的版本信息。
(6)给Docker Compose加上可执行的权限:
chmod +x /usr/local/bin/docker-compose
(7)确定Docker Compose的版本信息,如下图所示。
二、 安装配置Harbor
(1)从GitHub上下载Harbor的安装,这里使用Harbor 1.6.2的版本。
wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.2.tgz
(2)将Harbor解压缩到/root/training/目录下。
mkdir /root/training/
tar -zxvf harbor-offline-installer-v1.6.2.tgz -C /root/training/
(3)进入“/root/training/harbor”目录下。
cd /root/training/harbor
(4)编辑Harbor的核心配置文件harbor.cfg。下面展示了需要修改的参数值:将Harbor监听的地址设置为了本机的主机名,并设置了Harbor管理员的密码。
# 监听地址
hostname = my.harbor.com
# 管理员的登录密码
harbor_admin_password = Welcome_1
(5)执行install命令安装Harbor。下图展示了安装完成后的界面。
./install.sh
(6)通过浏览器访问Harbor主页“http://192.168.79.10/”,如下图所示。
(7)使用admin账号进行登录,密码为第(4)步中设置的Welcome_1。下图展示了Harbor主页面。
三、 【实战】在Docker中使用Harbor
在配置好Harbor的私有镜像仓库后,需要在Docker的客户机上进行设置才能使用Harbor。这里以master主机为例进行设置。
(1)将Harbor主机的主机名和IP地址写入Docker客户机的“/etc/hosts”文件。
192.168.79.10 my.harbor.com
(2)编辑文件“/usr/lib/systemd/system/docker.service”文件,输入以下内容。其中,my.harbor.com是Harbor运行主机的hostname。
ExecStart=/usr/bin/dockerd --insecure-registry my.harbor.com
(3)执行下面的语句创建“/etc/docker/daemon.json”文件,在该文件中指定私有镜像仓库的地址。
cat > /etc/docker/daemon.json << EOF
{ "insecure-registries":["my.harbor.com"] }
EOF
(4)重启Docker服务。
systemctl daemon-reload
systemctl restart docker
(5)使用“docker login”命令登录私有仓库,如下图所示。
(6)创建一个简单的Dockerfile文件进行测试。
FROM centos
ENV TZ "Asia/Shanghai"
(7)使用“docker build”命令编译Dockerfile文件生成镜像,如下图所示。
(8)使用“docker images”命令查看生成的镜像。
(9)执行下面的命令将镜像上传到私有的harbor镜像仓库。镜像上传完成后的效果如下图所示。
docker push my.harbor.com/library/mycentos
(10)在Harbor的Web主页上确定上传的镜像信息。可以看到成功将生成的mycentos镜像保存到了私有的镜像仓库中,如下图所示。