一、环境准备

centos7  192.168.40.136

软件:docker-19.03.8.tgz、docker-compose-Linux-x86_64、harbor-offline-installer-v1.10.2.tgz

二、安装docker、docker-compose

由于这台服务器是公司内网服务器,不能上外网,所以使用离线安装

1.1 安装docker

(1)解压docker

tar -xvf docker-19.03.8.tgz

(2)复制二进制文件到/usr/bin目录下

cp docker/* /usr/bin/

(3)配置 docker.service文件

vi /usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

(4)启动dockerd服务进程

systemctl daemon-reload
systemctl start docker.service

(5)查看docker版本

1.2 安装docker-compose

(1)下载docker-compose:https://github.com/docker/compose/releases/download/1.25.4/docker-compose-Linux-x86_64

(2)上传到服务器上,并重命名:mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

(3)添加可执行权限: chmod +x /usr/local/bin/docker-compose

(4)验证docker-compose

三、制作自签证书

由于harbor需要https访问,故需要制作自签证书。以下yourdomain.com为你要制作证书的域名,也可以为harbor服务器的IP地址。我的域名为HxHarbor.com

3.1、生成证书颁发机构证书
(1)生成CA证书私钥。
openssl genrsa -out ca.key 4096
(2)生成CA证书。
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
 -key ca.key \
 -out ca.crt
3.2、生成服务器证书
(1)生成私钥。
openssl genrsa -out yourdomain.com.key 4096
(2)生成证书签名请求(CSR)。
openssl req -sha512 -new \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
-key yourdomain.com.key \
-out yourdomain.com.csr
(3)生成一个x509 v3扩展文件。
无论您使用FQDN还是IP地址连接到Harbor主机,都必须创建此文件,以便可以为您的Harbor主机生成符合主题备用名称(SAN)和x509 v3的证书扩展要求。替换DNS条目以反映您的域。
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=yourdomain.com
DNS.2=yourdomain
DNS.3=hostname
EOF
以上dns没有则不用配置  
3.3、使用该v3.ext文件为您的Harbor主机生成证书。
将yourdomain.comCRS和CRT文件名中的替换为Harbor主机名。
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in yourdomain.com.csr \
-out yourdomain.com.crt   
3.4、提供证书给harbor和docker
转换yourdomain.com.crt为yourdomain.com.cert,供Docker使用
openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert

四、配置安装Harbor

4.1 解压harbor-offline-installer-v1.10.2.tgz

tar -xvf harbor-offline-installer-v1.10.2.tgz

4.2 配置Harbor

解压后我们可以看到harbor的目录下有一个harbor.yml的配置文件。我们需要做如下配置

hostname = yourdomain.com  (我的域名为HxHarbor.com,故我设置为HxHarbor.com)

certificate: yourdomain.com.crt         (为上一步生成的域名crt证书文件全路径)
private_key: yourdomain.com.key    (为上一步生成的域名key证书文件全路径)

保存退出

4.3  配置证书信任

在所有需要登录的docker主机(包括harbor主机)将第3步生成的证书文件复制到以下目录
cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/
cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/
cp ca.crt /etc/docker/certs.d/yourdomain.com/

4.4 安装Harbor

执行Harbor的install.sh

出现
✔ ----Harbor has been installed and started successfully.----

即安装成功

五、登录harbor

docker login yourdomain.com

输入账号密码。账号为admin,密码在harbor.yml里面有配置,默认为Harbor12345

搭建harbor私库相关推荐

  1. linux 内网环境搭建 maven 私库

    linux 内网环境搭建 maven 私库 参考资料: https://www.codenong.com/cs106446840/ https://blog.csdn.net/lch_wyl/arti ...

  2. 【Nexus】通过Nexus搭建Npm私库

    [Nexus]通过Nexus搭建Npm私库 1.简介 2.安装Nexus 3.配置远程Npm源 3.1.安装 3.2.说明 4.修改本地Npm连接源 5.发布自己的npm组件到私服 5.1.登录私服 ...

  3. 安装harbor私库

    安装harbor harbor是容器镜像注册仓库 官方首页: https://goharbor.io/ 官方文档: 安装和配置文档(针对版本2.1) https://goharbor.io/docs/ ...

  4. 搭建nexus3私库简要步骤

    搭建nexus私库 简要步骤: 安装nexus 登录nexus页面端 默认地址http://loaclhost:8081 登录nexus账号 默认admin/admin123 maven-centra ...

  5. 内网搭建maven私库

    目录 部署maven私库 Nexus 服务的配置 更新maven私库 批量上传(推荐) windows通过git导入 windows下通过java代码上传 私服使用 setting.xml文件配置 p ...

  6. 搭建Nexus私库使用

    maven提供了开发人员的方式来管理: 1)Builds 2)Documentation 3)Reporting 4)Dependencies 5)SCMs 6)Releases 7)Distribu ...

  7. 【Windows】使用Nexus搭建npm私库,管理npm包,并在项目中下载

    文章目录 一.Nexus在Windows环境下的安装与启动 1.下载安装包 2.配置环境变量 3.启动Nexus 4.访问网页 二.Nexus使用 1.登录 2.创建仓库 (1) 创建npm(host ...

  8. 搭建docker私库

    前面关于nexus的操作参考前面nexus的文章 1.新建私有私库 2.新建角色和用户 3.docker上传与下载 使用docker登录私库:密码******** docker login youst ...

  9. nexus搭建npm私库

    参考文章 安装docker 参考文章 安装nexus 打开我们安装好的nexus地址,登录 点击左上角设置图标,进入管理页面 创建之前大概讲一下思路: 创建三个库,分别为npm-proxy.npm-n ...

最新文章

  1. 理解JavaScript中的事件
  2. sourcetree回退已推送的代码
  3. 采购申请不固定供应商怎么破?
  4. GDB怎么调试使用.sh(shell脚本)启动的程序?(未完成,待测试)
  5. 招商银行的AI野心:转型金融科技公司?
  6. 服务器无法在此时接受控制信息 iis,iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425)...
  7. 如何实现省市关联的下拉列表
  8. MYSQL为什么long_query_time设置了1秒,slow log中记录了小于1秒的慢查询
  9. jsonp/ajax 自己的一些总结
  10. Python从零开始系列连载(32)——Python文件操作(下)
  11. DBL_EPSILON和FLT_EPSILON的用法
  12. 爬虫获取::after_这种反爬虫手段有点意思,看我破了它!
  13. vs2012安装出错解决方案
  14. jquery ajax加载页面进度条,jquery网页加载进度条的实现
  15. mybatis使用generator生成器生成entity,mapper,xml模版类及自己写sql情况处理
  16. win10下如何关闭445端口,教程演示
  17. 计算机网络提供信息传输服务,计算机网络通常被划分为通信子网和资源子网,通信子网提供信息传输服务,资源子网提供共享资源。...
  18. Kanzi学习之路(4):Kanzi的属性系统
  19. vue3 图片懒加载的实现
  20. 华三H3C端口聚合与链路聚合

热门文章

  1. authorize scope. userlocation需要在app.json中声明permission字段
  2. 入选数据库顶会 VLDB:如何有效降低产品级内存数据库快照尾延迟?
  3. Android安全:onCreate()函数的Native化
  4. 【ansj分词,英文被转换为了小写】
  5. dB 、dBSPL、dBFS、dBTP
  6. 软件测试流程有哪些?
  7. 智能电网如何巡检?这个方法才是标配
  8. UE4-PostProcessVolume(后期处理盒子)
  9. 【OC】Blocks模式
  10. word如何一键全选_word文档怎么全选所有内容