Harbor是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA 等企业必需的功能,也是当今最流行的容器仓库,也是Devpos非常重要的一环。
安装docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
yum install -y docker-ce
systemctl start docker
systemctl enable docker
下载docker-compose的最新版本
yum -y install epel-release
yum -y install docker-compose
下载harbor安装包
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz
tar -xzvf harbor-offline-installer-v2.0.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
自签一个域名证书,我这里的样例域名是harbor.sports-xw.com,可以根据自己的实际情况去定义自己的域名
mkdir -p /app/soft/keyCert/
cd /app/soft/keyCert/
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
openssl x509 -inform PEM -in ca.crt -out ca.cert
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.sports-xw.com.key -out harbor.sports-xw.com.csr
openssl x509 -req -days 365 -in harbor.sports-xw.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.sports-xw.com.crt
openssl x509 -inform PEM -in harbor.sports-xw.com.crt -out harbor.sports-xw.com.cert
mkdir -p /app/soft/harbor/cert
cd /app/soft/harbor/cert
cp /app/soft/keyCert/harbor.sports-xw.com.crt /app/soft/keyCert/harbor.sports-xw.com.key ./
修改配置
cd ~/harbor
vi harbor.yml
hostname: harbor.sports-xw.com
certificate: /app/soft/harbor/cert/harbor.sports-xw.com.crt
private_key: /app/soft/harbor/cert/harbor.sports-xw.com.key
然后运行./install.sh 配置数据更新
./install.sh
用docker-compose运行harbor程序
docker-compose -f ~/harbor/docker-compose.yml up -d --force-recreate
启动之后,修改windows机器下的C:\Windows\System32\drivers\etc\hosts文件,把harbor.sports-xw.com这个域名指向,你安装harbor的服务器。linux则在/etc/hosts里面。
现在通过浏览器访问:http://harbor.sports-xw.com ,填入默认的用户名:admin 密码:Harbor12345
现在用docker 推送一个默认镜像
先写一个hosts文件
echo "192.168.124.129 harbor.sports-xw.com" >> /etc/hosts
在docker配置里面加上域名验证
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"insecure-registries":[
"192.168.1.103","192.168.1.173","192.168.1.174","192.168.1.172","192.168.1.115","192.168.1.116","192.168.1.117","harbor.sports-xw.com"
]
}
重启docker
systemctl daemon-reload ; service docker restart
用超级用户的口令测试登录
docker login -u admin -p Harbor12345 harbor.sports-xw.com
测试push
随便拿一个helloworld docker来测试
docker pull hello-world
docker tag hello-world:latest harbor.sports-xw.com/library/hello-world:latest
docker push harbor.sports-xw.com/library/hello-world:latest
至此,安装测试完毕,能够正常使用。