仓库构建
本文最后更新于147 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

镜像仓库网站

  • 需要科学上网,除了docker官方的,其他都需要梯子

    红帽的:quay.io
    谷歌的:gcr.io
    docker的:hub.docker.com

  • 网易的仓库中的centos会自动封装常用命令

1.使用Docker官方的仓库

官网域名:https://hub.docker.com

如果需要上传图片的话,可以先上传到在免费的路过图床上,之后插入链接即可

  • 创建用户
    一开始是什么也没有的,可以create repository创建新的仓库

  • 创建仓库,镜像(组)
    仓库名——镜像名——相关描述
    现在可以创建一个私有的仓库,以前只有花钱才能有私有的

  • markdown格式
    视图——源码模式
    可以看见底层是怎么写的,无论是githup还是docker的说明都是基于markdown格式写的

  • 路过图床
    可以上传图片,他帮我们管理,然后有markdown的连接代码

  • 效果展示

    file

  • 上传镜像
    docker官方要求你的镜像名字必须符合他的标准,而且经常网络不稳,导致上传失败

    镜像改名: docker tag apng:1 lztyyds/webs:ag01
    而且原来的镜像还在,相当于做了一个软连接

    登录: docker login
    或者:  docker login  -u  lztyyds 
    这个信息保存在:cat /root/.docker/config.json  下,

    file

    • 上传 : docker push lztyyds/webs:ag01
  • 登录原理
    注意:私有的镜像仓库,在kubernetes中拉取需要登录信息,也就是这个文件,可以通过创建secret,让每个需要的POD去挂载,从而拉取私有仓库中的镜像

用户登录名字,密码,请求,但是这样每次都要有这个过程,异常麻烦
所以,当用户输入名字和密码时,仓库会给用户发一个token,之后在一定时间内就不用名和密码验证了,直接验证token码就行,在cat /root/.docker/config.json

私有镜像仓库Harbor

安装底层需求

  • Python应该是 应 2.7或更高版本

  • Docker引擎应为 1.10或更高版本
    个人版比较粗犷,版本号是17.3,企业版比较保守。1.10也就相当于十点几,但是这也只是相对的

  • DockerCompose需要为 需 1.6.0或更高版本

docker-compose:
curl -L "https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Harbor 原理说明

1、软件资源介绍

  • Harbor是VMware公司开源的企业级 公 DockerRegistry项目,项目地址为:https://github.com/vmware/harbor。其目 。 标是帮助用户迅速搭建一个企业级的 标 Dockerregistry服务。它以 服 Docker公司开源的 公 registry为基础,提供了管理 为 UI, 基于角色的访问控制 基 (Role BasedAccess Control),AD/LDAP集成、以及审计日志 集 (Auditlogging) 等企业用户需求的功 等 能,同时还原生支持中文。 能 Harbor的每个组件都是以 的 Docker容器的形式构建的,使用 容 DockerCompose来对它进行部 来 署。用于部署 署 Harbor的DockerCompose模板位于 模 /Deployer/docker-compose.yml,由5个容器组成,这几个容器通过 个 Dockerlink的形式连接在一起,在容器之间通过容器名字互相访问。对终端用户而言,只需要暴露 的 proxy ( 即 Nginx)的服务端口 )

  • Proxy:Nginx 服务器构成的反向代理。

  • Registry: Docker官方的开源 官 registry 镜像构成的容器实例。

  • UI:即架构中的 core services, 构成此容器的代码是 构 Harbor项目的主体。

  • MySQL:由官方 MySQL 镜像构成的数据库容器。

  • Log:运行着 : rsyslogd的容器,通过log-driver的形式收集其他容器的日志的

2、Harbor特性特

  • a、基于角色控制:用户和仓库都是基于项目进行组织的,而用户基于项目可以拥有不同的权限
  • b、基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制
  • c、支持 LDAP:Harbor的用户授权可以使用已经存在 的 LDAP用户
  • d、镜像删除&垃圾回收:Image可以被删除并且回收Image占用的空间,绝大部分的用户操作 API,方便用户对系统进行扩展
  • e、用户、UI:用户可以轻松的浏览、搜索镜像仓库以及对项目进行管理
  • f、轻松的部署功能:Harbor提供了online、offline安装,除此之外还提供了 virtualappliance安装
  • g、Harbor和 dockerregistry 关系:Harbor实质上是对dockerregistry 做了封装,扩展了自己的业务模块

Harbor的安装

1.安装docker,docker-compose,解压harbor

查看Python版本,只能函数退出

file

docker-compose version
docker info
确认版本

2.安装

  • 修改harbor.cfg配置文件,之后install脚本会自动生成docker-compose文件完成安装
    (改主机名,http——https,创建对应的ssl秘钥路径)
    file

3.创建 https 证书以及配置相关目录权限

mkdir /data/cert 
 chmod -R 777 /data/cert
 #生成私钥
 openssl genrsa -des3 -out server.key 2048
 #生成证书签名请求(CSR):
 openssl  req -new  -key server.key -out server.csr 

 #有密码的话进行以下两步,复制源文件,然后去除密码
 cp server.key server.key.org 
 openssl  rsa -in server.key.org -out server.key 

 #生成自签名证书
 openssl x509 -req -days 365 -in server.csr  -signkey server.key -out server.crt 
  • 如果发现某个服务无法访问或者启动失败的话可以执行
    docker-compose -f /usr/local/harbor/docker-compose.yml start
    他会自动帮你按顺序启动。而不是docker start 容器名
    因为容器是有启动顺序的

访问Harbor

这时候就可以浏览器访问你的Harbor了
注意如果证书不可信的话,是不能直接访问和上传下载镜像的,所以需要在Docker的配置文件/etc/docker/daemon.json中加入

{
#你的镜像加速器地址
"registry-mirrors": ["https://bppcz7s0.mirror.aliyuncs.com"],
#受信任的的地址
"insecure-registries": ["www.zxs.com"]
}

上传镜像

先改格式,改名,在library中有推送格式

file

  • 上传成功后所有人都能使用,退掉也能看见
    字符界面的时候退出也需要加仓库名
    普通用户没有办法在库里上传镜像
    只能创建自己的私有库,然后上传镜像
    如果两个不同的用户尝试上传相同的镜像到同一个项目,并且他们都有权限上传镜像,那么Harbor将允许这两个镜像并存。这是因为Harbor支持多租户架构,每个用户或团队可以在自己的项目中管理和维护自己的镜像集合。
男孩子都是香香软软的小猪
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇