简介
Harbor是一个开源的企业级Docker镜像仓库,旨在帮助用户管理和存储Docker镜像。它提供了一组管理工具和API,使用户可以轻松地构建、存储和分发Docker镜像。
随着容器化技术的普及和应用场景的增多,Harbor在当下具有广泛的应用场景。首先,它可以用作团队内部的私有镜像仓库,以便团队成员能够共享和访问同一个镜像库,从而提高开发效率。其次,它还可以用于构建CI/CD流水线,以便自动构建和部署Docker镜像。此外,Harbor还提供了一些安全功能,例如用户身份验证和授权,以保护企业数据的安全。
在当下,许多企业和组织都在使用Harbor来管理他们的Docker镜像。例如,华为云使用Harbor作为其容器镜像中心,以便于用户存储和管理Docker镜像。此外,谷歌、VMware、PayPal等知名企业也在使用Harbor来管理他们的Docker镜像。
总之,随着容器化技术的广泛应用,Harbor作为一个企业级的Docker镜像仓库,具有广泛的应用场景,并且在各个领域得到了广泛的应用。
环境要求
Harbor服务也是需要docker和docker-compose服务,故也需要安装对应的服务 docker和docker-compose的安装参考上一节的内容 juejin.cn/post/721955…
Harbor安装
下载HarBor的压缩包
下载路径: github.com/goharbor/ha…
// 上传压缩包到linux并解压
tar -xzf harbor-offlfflffline-installer-v1.9.2.tgz
mkdir /opt/harbor
mv harbor/* /opt/harbor
cd /opt/harbor
修改Harbor的配置
vi harbor.yml
修改hostname和port
hostname: 192.168.66.102
port: 85
安装Harbor
./prepare
./install.sh
安装时可以看到同时启动多个镜像,说明它把独立的服务都分散到了不同的镜像中, 所以想使用跟jenkins一样,一个镜像搞定的办法是行不通的
启动Harbor
docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动
访问Harbor
http://192.168.66.102:85
默认账户密码:admin/Harbor12345
把镜像上传到Harbor
给镜像打上标签
docker tag eureka:v1 192.168.66.102:85/tensquare/eureka:v1
推送镜像
docker push 192.168.66.102:85/tensquare/eureka:v1
这时会出现以上报错,是因为Docker没有把Harbor加入信任列表中
把Harbor地址加入到Docker信任列表
vi /etc/docker/daemon.json
{
// 设置镜像仓库
"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],
// 设置信任列表
"insecure-registries": ["192.168.66.102:85"]
}
不添加信任会报错
The push refers to repository [192.168.66.102:85/tensquare/eureka]
Get https://192.168.66.102:85/v2/: http: server gave HTTP response to HTTPS
client
登录HarBor
docker login -u 用户名 -p 密码 192.168.66.102:85
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
下面就可以开始正常推送和拉取镜像了