部署 Docker harbor (httphttps)及使用

部署 Docker harbor (http/https)及使用

官网下载docker harbor 和docker-compose 下载最新版本即可

https://github.com/goharbor/harbor

https://github.com/docker/compose/releases

一.Docker harbor 配置http使用

1.解压harbor.tar

# 解压至指定目录
[root@docker ~]# tar -xf harbor-offline-installer-v2.9.1.tgz -C /usr/local/

# 安装docker-compose
[root@docker ~]# mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
[root@docker ~]# chmod +x /usr/local/bin/docker-compose
[root@docker ~]# docker-compose -v
Docker Compose version v2.24.6

2.使用http协议下的harbor

[root@docker ~]# cd /usr/local/harbor/

# 拷贝演示文件
[root@docker harbor]# cp -a harbor.yml.tmpl harbor.yml

# 修改配置文件
[root@docker harbor]# vim harbor.yml
 5 hostname: 192.168.73.128		#修改为本机ip地址
  6 
  7 # http related config
  8 http:
  9   # port for http, default is 80. If https enabled, this por    t will redirect to https port
 10   port: 80
 11 
 # 将https注释掉
 12 # https related config
 13 #https:
 14   # https port for harbor, default is 443
 15 #  port: 443
 16   # The path of cert and key files for nginx
 17 #  certificate: /your/certificate/path
 18 #  private_key: /your/private/key/path
# 登录密码
 36    harbor_admin_password: Harbor12345

3.执行安装脚本

[root@docker harbor]# ./install.sh

4.浏览器访问

新建一个项目

在这里插入图片描述

5.推送镜像环境

# 使用tag为本地拉取的官方镜像打上标签
[root@docker ~]# docker tag centos:7 192.168.73.130/demo/centos7:v1
[root@docker ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
192.168.73.130/demo/centos7     v1        eeb6ee3f44bd   3 years ago     204MB
centos                          7         eeb6ee3f44bd   3 years ago     204MB

# 修改daemon.json
[root@docker ~]# cat /etc/docker/daemon.json 
{
  "insecure-registries": ["http://192.168.73.130"]
}
[root@docker ~]# systemctl restart docker

# 测试是否能够登录
[root@docker ~]# docker login 192.168.73.130
Username: admin
Password: 
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@docker ~]# docker push 192.168.73.130/demo/centos7:v1
The push refers to repository [192.168.73.130/demo/centos7]
174f56854903: Layer already exists 
v1: digest: sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f size: 529

在这里插入图片描述

二.Docker habor 配置https使用

1.创建自签名证书

[root@docker ~]# mkdir -pv /data/ca
mkdir: 已创建目录 "/data/ca"
[root@docker ~]# cd /data/ca
[root@docker ca]# openssl genrsa -out /data/ca/harbor-ca.key
Generating RSA private key, 2048 bit long modulus
........................+++
........................................................................................................................................................+++
e is 65537 (0x10001)
[root@docker ca]# openssl req -x509 -new -nodes -key /data/ca/harbor-ca.key  -subj "/CN=harbor.linux.com" -days 7120 -out /data/ca/harbor-ca.crt
[root@docker ca]# ls
harbor-ca.crt  harbor-ca.key

2.修改配置文件和域名解析

[root@docker harbor]# vim harbor.yml
# 修改为域名登录
5 hostname: harbor.linux.com
  6 
  # 将http注释
  7 # http related config    
  8 #http:
  9   # port for http, default is 80. If https enabled, this por    t will redirect to https port
 10 #  port: 80
 11 
 12 # https related config
 13 https:
 14   # https port for harbor, default is 443
 15   port: 443
 16   # The path of cert and key files for nginx
 #  修改密钥存放目录
 17   certificate: /data/ca/harbor-ca.crt
 18   private_key: /data/ca/harbor-ca.key
 36 harbor_admin_password: Harbor12345 

# 配置本机域名解析
[root@docker ~]# tail -1 /etc/hosts
192.168.73.130 harbor.linux.com

# 配置浏览器域名解析
C:\Windows\System32\drivers\etc\hosts  << Windows的域名解析文件
192.168.73.130 harbor.linux.com

# 配置daemon.json
[root@docker ~]# cat  /etc/docker/daemon.json
{
 "insecure-registries": ["https://harbor.linux.com"]  
}

# 重启docker和harbor
[root@docker ~]# systemctl restart docker
[root@docker ~]# cd /usr/lcoal/harbor
[root@docker ~]# cd /usr/local/harbor
[root@docker harbor]# docker-compose restart
[+] Restarting 9/9
 ✔ Container harbor-log         Started                   10.3s 
 ✔ Container redis              Start...                   0.5s 
 ✔ Container harbor-db          S...                       0.3s 
 ✔ Container harbor-jobservice  Started                    0.4s 
 ✔ Container harbor-core        Started                    0.4s 
 ✔ Container harbor-portal      Started                    0.3s 
 ✔ Container nginx              Start...                   0.4s 
 ✔ Container registryctl        Started                    0.5s 
 ✔ Container registry           St...                      0.4s 

3.本机测试登录

[root@docker ~]# docker login harbor.linux.com
Username: admin
Password: 
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

4.浏览器登录

https://harbor.linux.com

在这里插入图片描述
在这里插入图片描述

三.harbor客户端配置

1.配置认证证书

[root@docker02 ~]# mkdir -pv /etc/docker/certs.d/harbor.linux.com/
[root@docker02 ~]# scp 192.168.73.130:/data/ca/harbor-ca.crt /etc/docker/certs.d/harbor.linux.com/

# 配置域名解析
[root@docker02 ~]# tail -1 /etc/hosts
192.168.73.130  harbor.linux.com 

# 测试登录
[root@docker02 ~]# docker login harbor.linux.com
Username: admin
Password: 
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

2.配置客户端harbor仓库地址

[root@docker02 ~]# cat  /etc/docker/daemon.json
{
  "insecure-registries": ["harbor.liunx.com","192.168.73.130:443"]
}

# 重启docker服务
[root@docker02 ~]# systemctl restart docker

# 测试域名和ip登录
[root@docker02 ~]# docker login harbor.linux.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@docker02 ~]# docker login 192.168.73.130:443
Username: admin
Password: 
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@docker02 ~]# cat /root/.docker/config.json
{
        "auths": {
                "192.168.73.130:443": {
                        "auth": "YWRtaW46SHVhd2VpQDEyMw=="
                },
                "harbor.linux.com": {
                        "auth": "YWRtaW46SHVhd2VpQDEyMw=="
                }
        }

3.从harbor服务端拉取镜像

[root@docker02 ~]# docker pull harbor.linux.com/demo/centos7:v1
v1: Pulling from demo/centos7
Digest: sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f
Status: Image is up to date for harbor.linux.com/demo/centos7:v1
harbor.linux.com/demo/centos7:v1

[root@docker02 ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED        SIZE
harbor.linux.com/demo/centos7   v1        eeb6ee3f44bd   3 years ago    204MB
部署Docker Harbor,您可以按照以下步骤进行操作: 1. 安装Docker:确保您的系统上已经安装了Docker。您可以访问Docker官方网站(https://www.docker.com/)获取适用于您系统的安装指南。 2. 下载并配置Harbor:访问Harbor官方网站(https://goharbor.io/)并下载最新版本的Harbor。解压下载的文件,并编辑`harbor.yml`文件来配置Harbor。您可以根据您的需求更改配置,例如端口号、存储位置、认证等。 3. 配置SSL证书(可选):如果您希望使用HTTPS协议来访问Harbor,您需要准备一个有效的SSL证书,并在`harbor.yml`文件中指定证书路径。 4. 启动Harbor:在解压的Harbor目录中运行以下命令来启动Harbor: ``` ./install.sh --with-notary --with-trivy ``` 该命令会启动Harbor以及相关的Notary和Trivy组件。您可以根据需要添加或删除这些组件。 5. 访问Harbor:一旦Harbor启动成功,您可以通过在浏览器中输入Harbor的地址来访问它。默认情况下,Harbor的地址是`http://<hostname>`,其中`<hostname>`是您部署Harbor的主机名或IP地址。 6. 配置访问权限:首次访问Harbor时,您需要设置管理员账户和密码。登录后,您可以根据需要创建用户、项目和仓库,并配置相应的访问权限。 请注意,以上只是大致的步骤概述,实际部署过程中可能会有一些特定的配置和调整。建议您参考Harbor官方文档以获取更详细的部署指南和配置说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值