搭建Harbor
1.前置条件,安装docker
yum install -y docker ## 安装docker
systemctl start docker ## 启动docker
2.安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
## 赋予执行权限
chmod +X /usr/local/bin/docker-compose
## 查看安装成功了没
docker-compose --version
3.harbor搭建和启动
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.0.tgz
## 解压
tar xvf harbor-offline-installer-v1.5.0.tgz
cd harbor
修改参数,最重要是修改 harbor.cfg 中的hostname,将hostname修改为当前服务器的ip或者域名,harbor初始管理员密码为Harbor12345。其他的内容根据需要自行修改
修改完之后,顺序分别执行./prepare和./install.sh两个命令,docker ps就可以查看到实际上harbor已经启动起来了(install.sh脚本也可以看到,执行是需要安装docker和docker-compose的)。
服务停止和启动分别可以在这里执行命令:
docker-compose stop
docker-compose start
4. 界面管理
启动后,进入harbor的管理界面,并新建一个项目。我新建了一个名为test的项目
个人理解,harbor中指代的项目的维度,可以作为一类服务的分类文件夹来使用。仁者见仁,只要是方便个人分类管理的都可以这样使用。
界面中会记录所有推送到harbor私有仓库的所有镜像,以及同一个名称的镜像有多少个不同的版本和下载数
镜像列表再进入详情页面后,可以看到当前镜像的大小,以及pull的命令,用户可以快速定位获取想要的镜像版本。
detail除此之外,管理者可以根据实际需求,进行用户、权限等的设置。
5.集群环境配置
假设现在有两台主机,他们的公网ip分别是
192.168.0.110 node01
192.168.0.120 node02
我在 node01 上搭建了一个harbor集群,并将harbor.cgf 的 hosename设置为了192.168.0.110 。我想要在node01上和node02上都使用这个私有仓库管理一些镜像。
需要作出以下修改:
/etc/docker/daemon.json 中加入
“insecure-registries”: [“xxxx”]
例如
{
"insecure-registries": ["192.168.0.110"],
"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"live-restore":true
}
登录(在harbor中分配账号)
docker login 192.168.0.110
将镜像重新tag为以下格式(harbor的hostname/项目/镜像名 : 镜像版本
)
例子: 192.168.0.110/test/alpine:v1.0
推送到仓库中
docker push 192.168.0.110/test/alpine:v1.0
镜像拉取
docker login -u <username>
docker pull 镜像名和版本
网友评论