首页 > 其他分享 >harbor 使用https部署 与 docker 登录

harbor 使用https部署 与 docker 登录

时间:2024-11-03 23:09:01浏览次数:1  
标签:crt 证书 harbor https test docker com

目录
harbor部署
harbor部署 https docker 登录

配置harbor证书

当前目录:/etc/harbor/ssl/

1.生成证书颁发机构证书及私钥

openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Shanghai/L=Shanghai/O=SmartX/OU=Lab/CN=test.harbor.com"  -key ca.key  -out ca.crt

2.生成服务器私钥及证书签名请求(CSR)

openssl genrsa -out test.harbor.com.key 4096

3.生成证书签名请求

openssl req -sha512 -new  -subj "/C=CN/ST=Shanghai/L=Shanghai/O=SmartX/OU=Lab/CN=test.harbor.com"  -key test.harbor.com.key  -out test.harbor.com.csr

4.生成 x509 v3 扩展文件。

cat>>v3.ext<<EOF

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=test.harbor.com
DNS.3=harbor
EOF

5.使用该v3.ext文件为 Harbor 服务器生成证书。

openssl x509 -req -sha512 -days 3650  -extfile v3.ext  -CA ca.crt -CAkey ca.key -CAcreateserial  -in test.harbor.com.csr  -out test.harbor.com.crt

6.将 test.harbor.com.crt 转换为 test.harbor.com.cert , 供 Docker 使用。Docker 守护进程将.crt文件解释为 CA 证书,.cert将文件解释为客户端证书。

openssl x509 -inform PEM -in test.harbor.com.crt -out test.harbor.com.cert

7.在harbor.yml配置路径即可

# https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /etc/harbor/ssl/test.harbor.com.crt
  private_key: /etc/harbor/ssl/test.harbor.com.key

配置docker支持harbor证书

harbor有使用https证书时,docker登录报错如下

[root@rocky-linux ~]# docker login test.harbor.com -uadmin -pHarbor@Test
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get "https://test.harbor.com/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority

解决办法:

方法1:

在 Docker 客户端机器上创建证书目录

mkdir -p /etc/docker/certs.d/test.harbor.com/

复制自签名证书到 Docker 目录

sudo cp /etc/harbor/ssl/test.harbor.com.crt /etc/docker/certs.d/test.harbor.com/ca.crt

重启 Docker 服务

sudo systemctl restart docker

登录 Harbor

[root@rocky-linux harbor]# docker login test.harbor.com -uadmin -pHarbor@Test
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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:

编辑 Docker 配置文件

sudo nano /etc/docker/daemon.json

添加不安全的 Harbor 注册表地址

{
  "insecure-registries": ["test.harbor.com"]
}

重启 Docker 服务

sudo systemctl restart docker

登录 Harbor

docker login your.harbor.domain

标签:crt,证书,harbor,https,test,docker,com
From: https://www.cnblogs.com/anyux/p/18524187

相关文章

  • pve+alpine+docker安装教程
    pve的容器就应该用alpine,用debian从systemd炸到dbus,哎哎教程首先我们按需创建一个alpine容器,取消勾选“无特权容器”这个选项。然后#runinpveshellnano/etc/pve/lxc/xxx.conf添加下面几行#为了让docker正常运行lxc.cgroup2.devices.allow:alxc.cap.drop:启动并......
  • docker 安装和常见命令
    文章目录目录一、Docker是什么?二、CentOsyum源配置三、docker安装1.安装docker前的环境准备2.配置dockeryum源3.docker安装4.docker启动/重启/关闭/开机自启5.查看dockeryum配置是否成 6.docker卸载四、docker基础命令五、数据卷常见操作六、网络操作一、......
  • Docker部署MySQL双主双从,主主互备
     1. 双主双从主主互备MySQL的双主双从(主主互备)架构是一种高可用性和负载均衡的解决方案,它由两台主数据库服务器和两台从数据库服务器组成。每台主服务器同时充当另一台主服务器的从服务器,形成一个互为主从的关系。这种架构可以提供以下优势:高可用性:任何一台主服务器故障,......
  • docker相关知识
    docker-compose自定义执行文件:docker-compose-fdocker-compose.rel.yamlup-d docker前期准备://给某个ubuntu添加docker权限,否则每次都需要去root权限下执行docker-compose命令sudogroupadddockersudogpasswd-aubuntudockersudosystemctlrestartdo......
  • Docker for the Virtualization Admin
    Dockerisoneofthemostsuccessfulopensourceprojectsinrecenthistory,andorganizationsofallsizesaredevelopingplansaroundhowtocontainerizetheirapplications.Thefirststepinthisjourneyis,ofcourse,tounderstandwhatcontainersare......
  • Docker仓库之Registry私有镜像仓库的搭建与使用
    本章将和大家分享Docker仓库之Registry私有镜像仓库的搭建与使用。废话不多说,下面我们直接进入主题。一、官方标配:Registry私有镜像仓库DockerHub作为Docker默认官方公共镜像仓库,如果想要自己搭建私有镜像仓库,官方也提供了Registry镜像,使得我们搭建私有仓库变得非常简单。所谓......
  • Docker | 创建私有库并了解将项目放入和拉取到私有库的流程
    搭建私有库并推送镜像DockerRegistry1.下载Dockerregistry镜像2.运行私有库Registry,相当于本地有个私有Dockerhub3.ubuntu增加ifconfig命令并生成新镜像⭐4.curl验证私服库上有什么镜像什么是curl?5.将新镜像修改符合私服规范的Tag6.修改配置文件使之支持http7.......
  • docker bulid tag push到自己的docker hub 仓库
      -t(或 --tag)参数:用于给构建的镜像指定标签(tag)。标签的格式通常是 [仓库名/][用户名/]镜像名:版本号-f(或 --file)参数: 指定构建镜像所使用的 Dockerfile 的路径。默认情况下,dockerbuild 会在当前目录下查找名为 Dockerfile 的文件,但通过这个参数可以指定其他位......
  • Docker和k8s核心概念(理解友好版)
    背景这是在HWL负责网校云业务线测试时,给同事分享的基础概念文档。目录:一.Docker核心概念二.Kubernetes是什么及架构三.Kubernetes核心概念四.Deployment部署Pod操作一、Docker核心概念 1、为什么是Docker虚拟机:基础设施(Infrastructure)。服务器,或者是云主机。主......
  • dockerfile 和 docker compose
    目录1.dockerfile和dockercompose区别 主要区别目的:格式:使用场景:2.Dockerfile2.1基本格式 2.2模块解析 2.3例子 3.dockercompose 3.1安装 3.2格式 3.3执行1.dockerfile和dockercompose区别 Dockerfile和DockerCompose是Docker生态系统中两个......