搭建企业私有docker镜像仓库harbor

项目背景

实验公司最近引入docker容器技术,为了避免因上传docker镜像到公共仓库,导致公司重要文件泄露。现在急需一个私有仓库,小明挺身而出,对领导说放心我会搭建harbor私有仓库。

项目需求

1.Harbor 开启 HTTPS,用于防止密码泄露 + 防止镜像被篡改 + 符合企业安全规范

2.仓库必须要账号密码登录

3.不同人员对仓库或项目有不同权限

4.任何对仓库的操作必须审计

环境准备

硬件与系统要求

最低:2 核 CPU、4GB 内存、40GB SSD

生产推荐:4 核 +、8GB+、独立存储200GB+

系统:CentOS 7.6+/Rocky 9+/Ubuntu 20.04+

需要能连接海外镜像仓库

操作步骤

我使用的是系统是CentOS 7.6

安装安装Docker

安装Docker依赖环境

yum install -y -q yum-utils device-mapper-persistent-data lvm2 wget

添加docker官方YUM

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装Docker

yum install -y -q docker-ce docker-ce-cli containerd.io

启动Docker并设置开机自启

systemctl start docker && systemctl enable docker

验证Docker版本(出现版本表示docker安装成功)

docker version
安装Docker Compose

下载Docker Compose二进制文件(会自动匹配处理器架构)

curl -L --connect-timeout 30 --retry 3 https://github.com/docker/compose/releases/download/v5.1.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

为Docker Compose二进制文件添加执行权限

chmod +x /usr/local/bin/docker-compose

验证Docker Compose安装(出现版本号即安装成功)

docker-compose -v
安装Harbor

载Harbor的tar包

wget --timeout=30 --tries=3 https://github.com/goharbor/harbor/releases/download/v2.14.2/harbor-offline-installer-v2.14.2.tgz

解压Harbor的tar包

tar xvf harbor-offline-installer-v2.14.2.tgz -C /usr/local/

创建证书目录

mkdir -p /usr/local/harbor/cert

创建证书配置文件(O/OU/CN/IP/DNS要根据实际情况修改)

cat > /usr/local/harbor/cert/openssl.cnf << EOF
[req]
default_bits = 4096
prompt = no
default_md = sha256
distinguished_name = dn
x509_extensions = ext

[dn]
C = CN
ST = Beijing
L = Beijing
O = Harbor
OU = IT
CN = chenfa.com

[ext]
basicConstraints = CA:TRUE,pathlen:1
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
subjectAltName = IP:192.168.171.220,DNS:chenfa.com
EOF

生成Harbor SSL证书

openssl req -new -x509 -nodes -days 3650 -keyout /usr/local/harbor/cert/harbor.key -out /usr/local/harbor/cert/harbor.crt -config /usr/local/harbor/cert/openssl.cnf

修改harbor配置文件harbor.yml中hostname为内网ip

sed -i "s/hostname: reg.mydomain.com/hostname: 192.168.171.220/g" /usr/local/harbor/harbor.yml

替换harbor配置文件harbor.yml中证书路径

sed -i "s|certificate: /your/certificate/path|certificate: /usr/local/harbor/cert/harbor.crt|g" /usr/local/harbor/harbor.yml

替换harbor配置文件harbor.yml中私钥路径

sed -i "s|private_key: /your/private/key/path|private_key: /usr/local/harbor/cert/harbor.key|g" /usr/local/harbor/harbor.yml

安装Harbor

sh /usr/local/harbor/install.sh

安装完成浏览器访问https:(hostname指定的ip)

默认账号:admin  密码:Harbor12345

docker登入仓库

docker配置证书(要创建和仓库ip或域名同名目录)

mkdir -p /etc/docker/certs.d/192.168.171.220

将仓库创建的证书传输到上面创建的目录中(要做到域名登入要配置/etc/hosts)

scp root@192.168.171.220:/usr/local/harbor/cert/harbor.crt /etc/docker/certs.d/192.168.171.220/ca.crt

重启docker

systemctl restart docker

登入docker(要输入用户和密码)

docker login 192.168.171.220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值