Docker私有仓库部署

Docker私有仓库部署

一、介绍

  Harbor(港口,港湾)是一个用于存储和分发Docker镜像的企业级Registry服务器。
除了Harbor这个私有镜像仓库之外,还有Docker官方提供的Registry。相对Registry,Harbor具有很
多优势:

  1. 提供分层传输机制,优化网络传输 Docker镜像是是分层的,而如果每次传输都使用全量文件(所以
    用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定
    传输的对象。
  2. 提供WEB界面,优化用户体验 只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界
    面可以支持登陆、搜索功能,包括区分公有、私有镜像。
  3. 支持水平扩展集群 当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分
    解。
  4. 良好的安全机制 企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,
    具有更好的安全性。

二、安装

Harbor依赖Docker环境,故在安装Harbor之前需要确保docker环境正确安装。docker安装参考:Docker基础概念介绍及安装。

2.1 安装docker-compose
  • 下载docker-compose
sudo curl -L https://github.91chifun.workers.dev/https://github.com//docker/compose/releases/download/1.21.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose 
sudo chmod +x /usr/local/bin/docker-compose
  • 增加执行权限
sudo chmod +x /usr/local/bin/docker-compose
  • 验证
docker-compose -version

在这里插入图片描述

2.2 安装Harbor

这里用v1.9.2版本(配置简单),最新版本需要配置ssl,可参考官网进行配置。

tar -xzf harbor-offline-installer-v1.9.2.tgz
mkdir /usr/local/soft
mv harbor /usr/local/soft
cd /usr/local/soft/harbor
  • 修改配置
vi harbor.yml
hostname: 192.168.63.5

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80
  • 安装harbor
./prepare
./install.sh
  • 启动harbor
docker-compose up -d #启动
docker-compose stop #停止
docker-compose restart #重新启动
2.3 访问Harbor

默认账户/密码:admin/Harbor12345

http://hostname:port

在这里插入图片描述

三、打包镜像

  • 给镜像打上标签
docker tag nginx:1.13.7 192.168.63.5:80/iot/web
  • 推送镜像
docker push 192.168.63.5:80/iot/web

如果遇到以下错误:The push refers to repository [192.168.63.5/iot/web] Get https://192.168.63.5:80/v2/: http: server gave HTTP response to HTTPS client。则说明Docker没有将Harbor加到信任列表中。

  • 给Docker添加Harbor信任列表
vi /etc/docker/daemon.json

追加以下内容:

"insecure-registries": ["192.168.63.5:80"]

再次推送镜像,提示权限不足denied: requested access to the resource is denied。则需要先登录Harbor,再推送镜像。

  • 登录Harbor
docker login -u 用户名 -p 密码 192.168.63.5:80

出现如下提示则说明登录成功~

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
  • 再次推送镜像,Harbor页面出现推送结果
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zerooooooooooooooooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值