【云原生】Docker私有仓库 Registry&Habor

这篇具有很好参考价值的文章主要介绍了【云原生】Docker私有仓库 Registry&Habor。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.Docker私有仓库(Registry)

1.1  Registry的介绍

1.2 Registry的部署

步骤一:拉取相关的镜像

步骤二:进行 Registry的相关yml文件配置(docker-compose)

步骤三:镜像的推送

 2. Registry的升级——Habor

2.1 Habor的简介

2.2 Habor的特性

2.3 Habor的构成​编辑

3. Harbor 部署 

(1)部署 Docker-Compose 服务

(2) 部署 Harbor 服务 

(3) 启动 Harbor

(4)查看 Harbor 启动镜像 

(5)创建一个新项目

(6) 在其他客户端上传镜像

 4.  维护管理Harbor 

(1) 通过 Harbor Web 创建项目

(2) 创建 Harbor 用户 

(3) 查看日志

(4)修改 Harbor.cfg 配置文件

(5) 移除 Harbor 服务容器同时保留镜像数据/数据库,并进行迁移

  5. Harbor的备用机的设置

5.1 再次安装一台Harbor 

 5.2 复制的过程 

(1)添加复制对象

 (2)进行项目的选择复制 

 (3)查看备份机中的项目​编辑


1.Docker私有仓库(Registry)

1.1  Registry的介绍

关于Docker的仓库分为私有库和公有仓库,共有仓库只要在官方注册用户,登录即可使用。但对于仓库的使用,企业还是会有自己的专属镜像,所以私有库的搭建也是很有必要的存在。

对于原生的仓库,Docker提供了Registry,它能帮助我们组建属于自己的私有库,但是缺点也比较明显,就是难管理,无法进行复杂的操作【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

1.2 Registry的部署

步骤一:拉取相关的镜像

docker pull registry:2.7.1
docker pull joxit/docker-registry-ui:latest   # 非必须,简单的界面

步骤二:进行 Registry的相关yml文件配置(docker-compose)

 其中有两个文件需要进行配置,一个为config.yml,另一个为docker-compose.yml

mkdir -p /etc/docker/registry
 
cat > /etc/docker/registry/config.yml <<EOF
version: 0.1
log:
  accesslog:
    disabled: true
  level: debug
  formatter: text
  fields:
    service: registry
    environment: staging
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
    Access-Control-Allow-Origin: ['http://192.168.181.100']
    Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']
    Access-Control-Allow-Headers: ['Authorization', 'Accept']
    Access-Control-Max-Age: [1728000]
    Access-Control-Allow-Credentials: [true]
    Access-Control-Expose-Headers: ['Docker-Content-Digest']
  http2:
    disabled: false
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3
EOF
 
 
 
cat > docker-compose.yaml <<EOF
version: '2.0'
services:
  registry:
    image: registry:2.7.1
    ports:
      - 5000:5000
    volumes:
      - /opt/registry:/var/lib/registry
      - /etc/docker/registry/config.yml:/etc/docker/registry/config.yml
  ui:
    image: joxit/docker-registry-ui:latest
    ports:
      - 80:80
    environment:
      - REGISTRY_TITLE=My Private Docker Registry
      - REGISTRY_URL=http://192.168.181.100:5000
      - SINGLE_REGISTRY=true
    depends_on:
      - registry
EOF
 
docker-compose up -d
 

步骤三:镜像的推送

docker tag nginx 192.168.73.105:5000/nginx:latest
 
docker push 192.168.73.105:5000/nginx:latest
The push refers to repository [192.168.181.100:5000/nginx]
Get "https://192.168.73.105:5000/v2/": http: server gave HTTP response to HTTPS client
 
# 开启非安全认证
 vim /etc/docker/daemon.json
{
  "insecure-registries" : [ "192.168.73.105:5000" ]
}
 
systemctl restart docker
 
 
#通web进入
http://192.168.73.105

 2. Registry的升级——Habor

2.1 Habor的简介

Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。

Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署。用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml。

2.2 Habor的特性

  • 基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限。
  • 基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制(同步)。
  • 支持 LDAP/AD:Harbor 可以集成企业内部已有的 AD/LDAP(类似数据库的一张表),用于对已经存在的用户认证和管理。
  • 镜像删除和垃圾回收:镜像可以被删除,也可以回收镜像占用的空间。
  • 图形化用户界面:用户可以通过浏览器来浏览,搜索镜像仓库以及对项目进行管理。
  • 审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
  • 支持 RESTful API:RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
  • Harbor和docker registry的关系:Harbor实质上是对docker registry做了封装,扩展了自己的业务模板

2.3 Habor的构成

Harbor 在架构上主要有 Proxy、Registry、Core services、Database(Harbor-db)、Log collector(Harbor-log)、Job services 六个组件。

●Proxy: 是一个 nginx 的前端代理,Harbor 的 Registry、UI、Token 服务等组件,都处在 nginx 反向代理后边。 该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。

●Registry: 负责储存 Docker 镜像,并处理 Docker push/pull 命令。由于要对用户进行访问控制,即不同用户对 Docker 镜像 有不同的读写权限,Registry 会指向一个 Token 服务,强制用户的每次 Docker pull/push 请求都要携带一个合法的 Token, Registry 会通过公钥对 Token 进行解密验证。

●Core services: Harbor的核心功能,主要提供以下3个服务:
1)UI(harbor-ui): 提供图形化界面,帮助用户管理 Registry 上的镜像(image), 并对用户进行授权。
2)WebHook:为了及时获取Registry 上image 状态变化的情况,在Registry 上配置 Webhook,把状态变化传递给 UI 模块。
3)Token 服务:负责根据用户权限给每个 Docker push/pull 命令签发 Token。Docker 客户端向 Registry 服务发起的请求, 如果不包含 Token,会被重定向到 Token 服务,获得 Token 后再重新向 Registry 进行请求。

●Database(harbor-db):为core services提供数据库服务,负责储存用户权限、审计日志、Docker 镜像分组信息等数据。

●Job services: 主要用于镜像复制,本地镜像可以被同步到远程 Harbor 实例上。

●Log collector(harbor-log): 负责收集其他组件的日志到一个地方。


Harbor 的每个组件都是以 Docker 容器的形式构建的,因此,使用 Docker Compose 来对它进行部署。
总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。
其中 harbor-adminserver 主要是作为一个后端的配置数据管理,并没有太多的其他功能。harbor-ui 所要操作的所有数据都通过 harbor-adminserver 这样一个数据配置管理中心来完成。

3. Harbor 部署 

(1)部署 Docker-Compose 服务

//下载或者上传 Docker-Compose
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 
chmod +x /usr/local/bin/docker-compose
 
docker-compose -v

(2) 部署 Harbor 服务 

#下载或上传 Harbor 安装程序
Harbor的压缩包下载地址:https://github.com/goharbor/harbor/releases
 
wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
 
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
 
 
#修改harbor安装的配置文件
vim /usr/local/harbor/harbor.cfg
--5行--修改,设置为Harbor服务器的IP地址或者域名
hostname = 192.168.73.107
--59行--指定管理员的初始密码,默认的用户名/密码是admin/ztt123
harbor_admin_password = ztt123
----------------------------------------------------------------------------------------------------------
关于 Harbor.cfg 配置文件中有两类参数:所需参数和可选参数
1、所需参数:这些参数需要在配置文件 Harbor.cfg 中设置。如果用户更新它们并运行 install.sh 脚本重新安装 Harbor, 参数将生效。具体参数如下:
●hostname:用于访问用户界面和 register 服务。它应该是目标机器的 IP 地址或完全限定的域名(FQDN),例如 192.168.73.107 或 hub.kgc.cn。不要使用 localhost 或 127.0.0.1 为主机名。
 
●ui_url_protocol:(http 或 https,默认为 http)用于访问 UI 和令牌/通知服务的协议。如果公证处于启用状态,则此参数必须为 https。
 
●max_job_workers:镜像复制作业线程。
 
●db_password:用于db_auth 的MySQL数据库root 用户的密码。
 
●customize_crt:该属性可设置为打开或关闭,默认打开。打开此属性时,准备脚本创建私钥和根证书,用于生成/验证注册表令牌。当由外部来源提供密钥和根证书时,将此属性设置为 off。
 
●ssl_cert:SSL 证书的路径,仅当协议设置为 https 时才应用。
 
●secretkey_path:用于在复制策略中加密或解密远程 register 密码的密钥路径。
 
2、可选参数:这些参数对于更新是可选的,即用户可以将其保留为默认值,并在启动 Harbor 后在 Web UI 上进行更新。如果进入 Harbor.cfg,只会在第一次启动 Harbor 时生效,随后对这些参数的更新,Harbor.cfg 将被忽略。
 
注意:如果选择通过 UI 设置这些参数,请确保在启动 Harbor 后立即执行此操作。具体来说,必须在注册或在 Harbor 中创建任何新用户之前设置所需的 auth_mode。当系统中有用户时(除了默认的 admin 用户), auth_mode 不能被修改。 具体参数如下:
●Email:Harbor 需要该参数才能向用户发送“密码重置”电子邮件,并且只有在需要该功能时才启用。请注意,在默认情况下 SSL 连接时没有启用。如果 SMTP 服务器需要 SSL,但不支持 STARTTLS,那么应该通过设置启用 SSL email_ssl = TRUE。
 
●harbor_admin_password:管理员的初始密码,只在 Harbor 第一次启动时生效。之后, 此设置将被忽略,并且应在 UI 中设置管理员的密码。请注意,默认的用户名/密码是admin/Harbor12345。
 
●auth_mode:使用的认证类型,默认情况下,它是 db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为 ldap_auth。
 
●self_registration:启用/禁用用户注册功能。禁用时,新用户只能由 Admin 用户创建,只有管理员用户可以在 Harbor 中创建新用户。注意:当 auth_mode 设置为 ldap_auth 时,自注册功能将始终处于禁用状态,并且该标志被忽略。
 
●Token_expiration:由令牌服务创建的令牌的到期时间(分钟),默认为 30 分钟。
 
●project_creation_restriction:用于控制哪些用户有权创建项目的标志。默认情况下,每个人都可以创建一个项目。 如果将其值设置为“adminonly”,那么只有 admin 可以创建项目。
 
●verify_remote_cert:打开或关闭,默认打开。此标志决定了当Harbor与远程 register 实例通信时是否验证 SSL/TLS 证书。 将此属性设置为 off 将绕过 SSL/TLS 验证,这在远程实例具有自签名或不可信证书时经常使用。
 
另外,默认情况下,Harbor 将镜像存储在本地文件系统上。在生产环境中,可以考虑 使用其他存储后端而不是本地文件系统,如 S3、Openstack Swif、Ceph 等对象存储。但需要更新 common/templates/registry/config.yml 文件。
Harbor的默认镜像存储路径在 /data/registry 目录下,映射到docker容器里面的 /storage 目录下。
这个参数是在 docker-compose.yml 中指定的,在 docker-compose up -d 运行之前修改。
如果希望将 Docker 镜像存储到其他的磁盘路径,可以修改这个参数。
----------------------------------------------------------------------------------------------------------

(3) 启动 Harbor

cd /usr/local/harbor/
在配置好了 harbor.cfg 之后,执行
 ./prepare      #为 harbor 启动的容器生成一些必要的文件(环境)
 ./install.sh   # 以 pull 镜像并启动容器

(4)查看 Harbor 启动镜像 

cd /usr/local/harbor/
docker-compose ps
 
##以下命令均在在habor的配置目录下运行
docker-compose up -d      #启动
docker-compose stop       #停止
docker-compose restart    #重新启动

(5)创建一个新项目

1)浏览器访问:http://192.168.73.107 登录 Harbor WEB UI 界面 密码ztt123【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

2)输入用户名和密码登录界面后可以创建一个新项目。点击“+项目”按钮

3)填写项目名称为“myproject-test”,点击“确定”按钮,创建新项目

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 4)此时可使用 Docker 命令在本地通过 192.168.73.107 来登录和推送镜像。默认情况下,Registry 服务器在端口 80 上侦听。

//登录 Harbor
docker login [-u admin -p Harbor12345] http://192.168.73.107
 
//下载镜像进行测试
docker pull nginx
 
//将镜像打标签
格式:docker tag 镜像:标签  仓库IP/项目名称/镜像名:标签
docker tag nginx:latest 192.168.73.107/myproject-test/nginx:v1
 
//上传镜像到 Harbor
docker push 192.168.73.107/myproject-test/nginx:v1

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 5)在 Harbor 界面 myproject-test 目录下可看见此镜像及相关信息【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 (6) 在其他客户端上传镜像

 以上操作都是在 Harbor 服务器本地操作。如果其他客户端登录到 Harbor,就会报如下错误。

docker login -u admin -p ztt123 http://192.168.73.107
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://192.168.73.107/v2/: dial tcp 192.168.73.107:443: connect: connection refused

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

  1)在 Docker 客户端配置操作

方法一:
//解决办法是:在 Docker server 启动的时候,增加启动参数,默认使用 HTTP 访问。

vim /usr/lib/systemd/system/docker.service
--13行--修改
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.73.107 --containerd=/run/containerd/containerd.sock
或
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.73.107
 
//重启 Docker,再次登录
systemctl daemon-reload
systemctl restart docker
 
//再次登录 Harbor
docker login -u admin -p Harbor12345 http://192.168.73.107
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Login Succeeded
//将自动保存凭据到/root/.docker/config.json,下次登录时可直接使用凭据登录 Harbor
 

方法二: 

vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.73.107"]    #如果要与别的仓库配置共用,中间要用“,”隔开
}
 
 

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

//下载镜像进行测试
docker pull 192.168.73.107/myproject-test/nginx:v1
 
//上传镜像进行测试
docker pull cirros
docker tag cirros:latest 192.168.73.107/myproject-test/cirros:v2
docker push 192.168.73.107/myproject-test/cirros:v2

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 2)刷新 Harbor 的 Web 管理界面进行查看,会发现 myproject-test 项目里面有两个镜像【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 4.  维护管理Harbor 

(1) 通过 Harbor Web 创建项目

 在 Harbor 仓库中,任何镜像在被 push 到 regsitry 之前都必须有一个自己所属的项目。
单击“+项目”,填写项目名称,项目级别若设置为"私有",则不勾选。如果设置为公共仓库,则所有人对此项目下的镜像拥有读权限,命令行中不需要执行"Docker login"即可下载镜像,镜像操作与 Docker Hub 一致。【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 (2) 创建 Harbor 用户 

1)创建用户并分配权限

在 Web 管理界面中单击系统管理 -> 用户管理 -> +用户,
填写用户名为“zhangsan”,邮箱为“zhangsan@lbj.com”,全名为“zhangsan”,密码为“As12345678”,注释为“xx项目角色”(可省略)。
附:用户创建成功后,单击左侧“...”按钮可将上述创建的用户设置为管理员角色或进行删除操作,本例不作任何设置【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

角色                权限说明
访客                对于指定项目拥有只读权限
开发人员            对于指定项目拥有读写权限,但没用删除权限
维护人员            对于指定项目拥有读写权限,也能对修改其它配置,比如创建 Webhooks
项目管理员            除了读写权限,同时拥有用户管理/镜像扫描等管理权限

2) 添加项目成员

单击项目 -> myproject-test-> 成员 -> + 成员,填写上述创建的用户 zhangsan 并分配角色为“开发人员”。
附:此时单击左侧“...”按钮仍然可对成员角色进行变更或者删除操作
【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

3)在客户端上使用普通账户操作镜像  

//删除上述打标签的本地镜像
docker rmi 192.168.73.107/myproject-test/cirros:v2
 
//先退出当前用户,然后使用上述创建的账户 zhangsan 登录
docker logout 192.168.73.107
 
docker login 192.168.73.105
或
docker login -u zhangsan -p As12345678 http://192.168.73.107
 
//下载和上传镜像进行测试
docker pull 192.168.73.107/myproject-test/cirros:v2
 
docker tag cirros:latest 192.168.73.107/myproject-test/cirros:v3
docker push 192.168.73.107/myproject-test/cirros:v3

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 (3) 查看日志

Web 界面日志,操作日志按时间顺序记录用户相关操作 【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 (4)修改 Harbor.cfg 配置文件

要更改 Harbor的配置文件中的可选参数时,请先停止现有的 Harbor实例并更新 Harbor.cfg;然后运行 prepare 脚本来填充配置; 最后重新创建并启动 Harbor 的实例。
 
使用 docker-compose 管理 Harbor 时,必须在与 docker-compose.yml 相同的目录中运行。
cd /usr/local/harbor
docker-compose down -v
 
vim harbor.cfg            #只能修改可选参数
 
./prepare
 
docker-compose up -d
//如果有以下报错,需要开启防火墙 firewalld 服务解决
Creating network "harbor_harbor" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-b53c314f45e8 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))
 
systemctl restart firewalld.service
docker-compose up -d
 
 

(5) 移除 Harbor 服务容器同时保留镜像数据/数据库,并进行迁移

//在Harbor服务器上操作
(1)移除 Harbor 服务容器
cd /usr/local/harbor
docker-compose down -v
 
(2)把项目中的镜像数据进行打包
//持久数据,如镜像,数据库等在宿主机的/data/目录下,日志在宿主机的/var/log/Harbor/目录下
ls /data/registry/docker/registry/v2/repositories/myproject-kgc
cd /data/registry/docker/registry/v2/repositories/myproject-kgc
tar zcvf kgc-registry.tar.gz ./*
 
6. 如需重新部署,需要移除 Harbor 服务容器全部数据
cd /usr/local/harbor
docker-compose down -v
rm -r /data/database
rm -r /data/registry

【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

  5. Harbor的备用机的设置

5.1 再次安装一台Harbor 

再次开启一台主机,按照前面的步骤安装一台Harbor服务器 【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 5.2 复制的过程 

(1)添加复制对象

服务端(要复制的主机):登录Harbor管理员

复制管理=》目标=》+目标=》目标填写

输入对方主机的用户名和密码,URL  等待,进行测试连接,如果没问题就可以确定 【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 (2)进行项目的选择复制 

 服务端中:

项目=》点击要复制的项目名=》复制 =》 +复制规则

编写好复制规则,进行测试连接,如果无误,就可以确认【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

 【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构文章来源地址https://www.toymoban.com/news/detail-677570.html

 (3)查看备份机中的项目【云原生】Docker私有仓库 Registry&Habor,云原生,云计算,运维开发,docker,容器,运维,系统架构

到了这里,关于【云原生】Docker私有仓库 Registry&Habor的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 查看registry私有仓库的镜像tag列表

    前提条件:已经正确部署docker和私有仓库registry。并且有私有仓库的登录用户名,密码。。需要查看某一个镜像的tag列表。 本文验证地址:【私有ip】为192.168.0.200  【images】为centos。私有仓库用户名:root,密码:password 提示:如果按照下面方式访问不成功,请注意检查,本机

    2023年04月09日
    浏览(35)
  • 云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库

    基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。 Note: 由于是测试环境,以下创建了一个 local-storage 的 StorageClass ,并使用本地磁盘的方式创建使用 PV ,实际建议使用 NFS 。 共用到了三台

    2024年02月19日
    浏览(48)
  • 深度解析 Docker Registry:构建安全高效的私有镜像仓库

    🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:大数据系列 ✨文章内容:Docker Registry 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 Docker Registry是Docker生态系统中关键的组件,负责存储

    2024年02月04日
    浏览(84)
  • 1+X 云计算运维与开发(中级)案例实战——搭建harbor私有仓库并实现主从同步

    学而不思则罔,思而不学则殆。 IP 主机名 节点 192.168.200.132/24 master Harbor 仓库节点 192.168.200.133/24 slave Harbor 备份节点 说明:本次实验使用的镜像为k8sallinone,该镜像网络使用net模式,可上外网,且该镜像已安装docker引擎,若使用其他镜像请自行安装docker引擎 准备文件: Dock

    2024年02月07日
    浏览(48)
  • Linux docker7--私有镜像仓库registry和UI搭建及使用

    一、对于开源的镜像,如redis,nginx等,可以通过官方仓库Docker Hub,或者国内的阿里云等共有仓库下载获取到镜像。但是企业内对于自己的研发产品不可能往公共仓库去发布镜像的,一般都会搭建私有的镜像仓库,保障内部研发的镜像对内可用,外部是无法获取的。Redistry是

    2024年03月26日
    浏览(63)
  • 【云原生】Docker的私有仓库部署——Harbor

     关于Docker的仓库分为私有库和公有仓库,共有仓库只要在官方注册用户,登录即可使用。但对于仓库的使用,企业还是会有自己的专属镜像,所以私有库的搭建也是很有必要的存在。 对于原生的仓库,Docker提供了Registry,它能帮助我们组建属于自己的私有库,但是缺点也比

    2024年02月09日
    浏览(43)
  • 【云原生 • Docker】docker 私有仓库的搭建、配置与镜像上传

    目录 一、私有仓库的搭建与配置 二、镜像上传至私有仓库 所谓的 Docker 私有仓库,就是指企业内部所使用的仓库。仓库用于存放各种镜像,区别在于公有仓库所存储的都是一些通用型的镜像比如N Tomcat 镜像、ginx 镜像等。私有仓库则用于存放自身开发的企业级应用。如果想要

    2024年02月01日
    浏览(54)
  • [云原生1.] Docker--harbor私有仓库部署与管理

    Harbor是一个由CNCF托管的 开源的Docker镜像仓库管理工具 ,可以通过它快速的建立起自己的 私有仓库 。 Harbor 的每个组件都是以 Docker 容器 的形式构建的,使用 docker-compose 来对它进行部署。 用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml 。 Harbor 在架构上主要有

    2024年02月07日
    浏览(42)
  • 【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程

    目录 一、Harbor 介绍 二、Harbor 的优势 三、Harbor 部署安装 3.1 部署环境 3.2 为 Harbor 自签发证书 3.3 安装 Harbor 3.4 设置开机自启 四、Harbor 图像化界面使用说明 4.1 修改本地 hosts 文件 4.2 访问 harbor 4.3 创建项目 五、测试使用 harbor 私有镜像仓库 5.1 修改 docker 配置 5.2 登录 harbor

    2024年01月17日
    浏览(40)
  • 【运维知识大神篇】运维人必学的Docker教程6(Docker-Compose使用详解+Linux特性管理+macvlan技术+consul实现大规模跨主机通信overlay+私有仓库harbor)

    本篇文章继续给大家介绍Docker的有关内容,包括docker启动特权容器及利用特权修改内核参数,Attach和Exec区别,Docker-compose使用详解,Linux特性管理,macvlan技术实现docker跨主机通信,使用consul工具实现大规模跨主机通信overlay(基于vxlan实现),Docker相关参数说明,测试使用的

    2024年02月20日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包