docker镜像仓库harbor搭建

@lucas  April 14, 2024
Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。
Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

1、创建证书

a、创建一个保存证书的目录

mkdir -p /data/cert/

b、生成证书颁发机构证书

  • 生成 CA 证书私钥

    sudo openssl genrsa -out ca.key 4096
  • 生成 CA 证书

    openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=server.yin123.com" \
    -key ca.key \
    -out ca.crt

    c、生成服务器证书

  • 生成 CA 证书私钥

    sudo openssl genrsa -out server.yin123.com.key 4096
  • 生成证书签名请求 (CSR)

    sudo openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=server.yin123.com" \
    -key server.yin123.com.key \
    -out server.yin123.com.csr
  • 生成 x509 v3 扩展文件

    sudo vim v3.ext

    v3.ext内容如下

    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = @alt_names
     
    [alt_names] 
    DNS.1=server.yin123.com 
    DNS.2=yin123.com 
    DNS.3=server
  • 使用该v3.ext文件Harbor 主机生成证书

    sudo openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in server.yin123.com.csr \
    -out server.yin123.com.crt

    d、向 Harbor 和 Docker 提供证书

  • 将服务器证书和密钥复制到 Harbor 主机上的 certficates 文件夹中

    cp server.yin123.com.crt /data/cert/
    cp server.yin123.com.key /data/cert/
  • 转换crt为cert 供 Docker 使用

Docker 守护进程将.crt文件解释为 CA 证书,将.cert文件解释为客户端证书。

openssl x509 -inform PEM -in server.yin123.com.crt -out server.yin123.com.cert
  • 将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中。必须先创建文件夹。

    cp server.yin123.com.cert /etc/docker/certs.d/server.yin123.com/
    cp server.yin123.com.key /etc/docker/certs.d/server.yin123.com/
    cp ca.crt /etc/docker/certs.d/server.yin123.com/
  • 重启docker

    systemctl restart docker
    
    # 或者snap restart docker

2、下载、安装harbor

可以去官网下载想要的版本,我这里以2.50版本为例。

tar xvf harbor-offline-installer-v2.5.0.tgz

a、复制修改配置文件

cp harbor.yml.tmpl harbor.yml

vim harbor.yml

修改相应参数,参考下图,可以修改成自己想要的
2024-04-13T17:28:47.png
b、执行安装脚本

sudo ./install.sh

3、web访问,进行初始化
注意,此处不能用IP地址访问,ip访问会一直转圈!!!!!
必须通过域名访问才能出现登录界面,浏览器输入lucas.cn

2024-04-13T17:30:10.png


添加新评论

  1. 叼茂SEO.bfbikes.com

    Reply
  2. 怎么收藏这篇文章?

    Reply
  3. 你的文章让我心情愉悦,每天都要来看一看。 http://www.55baobei.com/QiC4oWn0Sf.html

    Reply
  4. 《水的重量》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/208.html

    Reply
  5. 大兵传奇私服下载的正确方法与安全疑问探讨:https://501h.com/danzhiye/2024-11-05/46455.html

    Reply
  6. 大兵传奇私服下载的正确方法与安全疑问探讨:https://501h.com/danzhiye/2024-11-05/46455.html

    Reply
  7. 你的文章充满了欢乐,让人忍不住一笑。 http://www.55baobei.com/ljRSUJdFmW.html

    Reply
  8. 《糖耳朵》喜剧片高清在线免费观看:https://www.jgz518.com/xingkong/102464.html

    Reply
  9. 《巴哥正传》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/30381.html

    Reply
  10. 你的文章充满了欢乐,让人忍不住一笑。 http://www.55baobei.com/TYKfpHykOV.html

    Reply
  11. 字里行间流露出真挚的情感,让人感同身受,共鸣不已。

    Reply
  12. ?未来展望类?

    Reply
  13. 技术伦理的探讨体现人文科技平衡意识。

    Reply