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

Harbor

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


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

4.上传一个镜像

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

image
image

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

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

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

你可能感兴趣的:(玩容器必会,Harbor的配置与简单使用)