搭建 harbor 仓库
部署环境IP如下:( 部署前 docker-study 已安装 docker,controller 节点并没有安装 docker )
[root@controller ~]# ip -4 a show ens33 |grep inet |cut -d' ' -f6
192.168.121.80/24
[root@docker-study ~]# ip -4 a show ens33 |grep inet |cut -d' ' -f6
192.168.121.70/24
# 1. controller 节点安装 docker
访问 docker 文档官网 https://docs.docker.com/engine/install/centos/ 下载并安装 docker
步骤如下:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io -y
# 2. 去阿里云官网控制台搜索容器镜像服务
将方框中的命令复制粘贴到 controller 节点终端里面然后并设置 docker 下次开机启动 systemctl enable docker
# 3. 安装 docker-compose
[root@controller ~]# yum -y install epel-release
[root@controller ~]# yum -y install docker-compose
# 4. 通过 harbor 压缩包安装 harbor,可在 github 上面找到压缩包,地址为 https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.3.4.tgz
将上传后的 harbor 压缩包解压到 /opt 目录下
[root@controller ~]# tar zxvf harbor-offline-installer-v2.3.4.tgz -C /opt
切换至压缩后的目录
[root@controller ~]# cd /opt/harbor/
[root@controller harbor]# ls -l
total 596284
-rw-r--r--. 1 root root 3361 Nov 9 19:01 common.sh
-rw-r--r--. 1 root root 610560420 Nov 9 19:01 harbor.v2.3.4.tar.gz
-rw-r--r--. 1 root root 7840 Nov 9 19:01 harbor.yml.tmpl
-rwxr-xr-x. 1 root root 2500 Nov 9 19:01 install.sh
-rw-r--r--. 1 root root 11347 Nov 9 19:01 LICENSE
-rwxr-xr-x. 1 root root 1881 Nov 9 19:01 prepare
将 harbor.yml.tmpl 文件拷贝一份并命名为 harbor.yml
[root@controller harbor]# cp harbor.yml.tmpl harbor.yml
然后编辑 harbor.yml 文件
将 hostname 改为 controller 节点的 IP,并把 https 等注释 配置文件中的 harbor 仓库登录的默认密码可以修改
修改 docker.service 文件
[root@controller harbor]# vim /lib/systemd/system/docker.service
修改后重载守护进程并重启 docker 生效
[root@controller harbor]# systemctl daemon-reload && systemctl restart docker.service
然后执行 harbor 的安装脚本
[root@controller harbor]# ./install.sh
脚本执行成功后最后一行如下所示
# 5. 查看 docker 镜像和容器
一共15个镜像和9个正在运行的容器,注:镜像和容器的个数可能因 harbor 压缩包版本的不同而不同
# 6. controller 节点登录 harbor
# 7. docker-study 节点修改配置文件并登录 harbor 仓库
[root@docker-study ~]# vim /lib/systemd/system/docker.service
重载守护进程和 docker 服务
[root@docker-study ~]# systemctl daemon-reload && systemctl restart docker.service
访问 controller 节点的 harbor 仓库
至此,harbor 仓库已经可以被两个不同用户登录,上传和下载镜像。