玩容器必会,Harbor的配置与简单使用

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 玩容器必会,Harbor的配置与简单使用

Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能,具有web管理功能,有了它之后能够很方便的管理容器镜像,搭配Jenkins使用很是方便。


image.png


1.环境准备


提前准备好docker和docker-compose环境,自行使用脚本安装。下面是我使用的版本:

[root@mx harbor]# docker-compose --version
Docker Compose version v2.0.1
[root@mx harbor]# docker --version
Docker version 20.10.9, build c2ea9bc
[root@mx harbor]#


2.安装Harbor


我这里使用CentOS 7 操作系统,ip地址可以更换为自己服务器的内网IP

# 配置域名信息
echo "192.168.1.1  docker.harbor.com" >> /etc/hosts
创建目录 添加密钥(密钥的harbor地址要和hosts地址相同),不使用https可略过下面的步骤
mkdir /etc/certs && cd  /etc/certs
openssl genrsa -out /etc/certs/ca.key 2048
openssl req -x509 -new -nodes -key /etc/certs/ca.key -subj "/CN=docker.harbor.com" -days 5000 -out /etc/certs/ca.crt
mkdir -p /opt/docker/harbor
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
tar -xf harbor-offline-installer-v2.4.0.tgz && mv harbor /opt/docker/harbor && cd /opt/docker/harbor

修改配置文件:

cp harbor.yml.tmpl harbor.yml
vim harbor.yml
# 输入服务器的地址
hostname: docker.harbor.com
# 下面是端口,根据自己的配置
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 8081
# 设置好harbor登录的密码,默认账户为admin
harbor_admin_password: 123456
# 如果需要https(建议启用)请配置好证书文件
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /etc/certs/ca.crt 
  private_key: /etc/certs/ca.key
# 准备环境
./prepare
# 安装
./install.sh


3.登录测试


docker login docker.harbor.com

如果有如下报错,

如果登录提示:Error response from daemon: Get  https://docker.harbor.com/v2/: x509: certificate signed by unknown authority
则有可能是有残留登录失败数据导致,需要编辑daemon.json ,指定你的登录地址

则执行后,重启docker后就能正常登录了。

vi /etc/docker/daemon.json 
{
 "insecure-registries": ["docker.harbor.com"] 
}
[root@mx harbor]# docker login docker.harbor.com
Authenticating with existing credentials...
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
[root@mx harbor]#

当然最主要的功能还是通过网站访问,使用http://ip:8080 来访问,账号密码为前面设置的,我这里设置为admin/123456,输入后直接登录。


image.png


4.上传一个镜像


在仓库后台新建一个项目test

image.png


任意修改一个镜像的tag,加上test,上传测试一下。

docker tag mysql:5.7 docker.harbor.com/test/apache
docker push docker.harbor.com/test/apache

如果没有报错,那就正常了,接下来就可以打通网络,在任何地方能连接拉取镜像文件了。


相关文章
|
2月前
|
缓存 Kubernetes Docker
容器服务ACK常见问题之容器服务ACK ingress websocket配置失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
2月前
|
Java API Spring
Spring容器如何使用一个注解来指定一个类型为配置类型
Spring容器如何使用一个注解来指定一个类型为配置类型
30 0
|
2月前
|
Kubernetes 安全 Cloud Native
云原生|kubernetes|pod或容器的安全上下文配置解析
云原生|kubernetes|pod或容器的安全上下文配置解析
167 0
|
1月前
|
存储 安全 Linux
Podman入门全指南:安装、配置与运行容器
Podman入门全指南:安装、配置与运行容器
541 1
|
9天前
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
|
监控 NoSQL Redis
Redis哨兵,Redis哨兵核心功能如何一个云服务器完成6个节点的搭建-docker什么是docker是否可以把六个容器,都写到同一个ym配置中,一次都启动,不就直接保证互通问题了吗?
Redis哨兵,Redis哨兵核心功能如何一个云服务器完成6个节点的搭建-docker什么是docker是否可以把六个容器,都写到同一个ym配置中,一次都启动,不就直接保证互通问题了吗?
|
2月前
|
存储 运维 Linux
Docker详解(十)——Docker容器CPU资源限额配置
Docker详解(十)——Docker容器CPU资源限额配置
76 3
|
2月前
|
运维 Linux Docker
Docker详解(十三)——Docker容器的内存和磁盘I/O限制配置
Docker详解(十三)——Docker容器的内存和磁盘I/O限制配置
296 1
|
2月前
|
存储 监控 数据安全/隐私保护
Docker网络模式:深度理解与容器网络配置
Docker 的网络模式是容器化应用中一个关键而复杂的方面。本文将深入讨论 Docker 的网络模式,包括基本概念、常用网络模式以及高级网络配置,并通过更为丰富和实际的示例代码,帮助读者全面掌握如何理解和配置容器网络。
|
2月前
|
XML Java 数据格式
掌握 Spring IoC 容器与 Bean 作用域:详解 singleton 与 prototype 的使用与配置
在您的应用程序中,由 Spring IoC 容器管理的形成其核心的对象被称为 "bean"。一个 bean 是由 Spring IoC 容器实例化、组装和管理的对象
57 0