Harbor

官网:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
学习:https://www.cnblogs.com/edisonchou/p/docker_registry_repository_setup_introduction.html

hostnamectl set-hostname harbor

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -P /etc/yum.repos.d/
yum clean all  && yum makecache fast
yum install docker-ce -y

#安装docker-compose
#安装方式一:
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
#安装方式二:
https://github.com/docker/compose/releases/

#安装方式三:
yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip
pip install docker-compose==1.24.1
chmod +x /usr/local/bin/docker-compose
docker-compose version

#安装harbor:
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz
tar zvxf harbor-offline-installer-v1.7.4.tgz
cd harbor
cp -rp harbor.cfg harbor.cfg.bak
cat harbor.cfg.bak
grep -Ev "^#|^$" harbor.cfg.bak > harbor.cfg
#修改相关信息
hostname = reg.myharbor.com
ui_url_protocol = https
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

#自签证书
mkdir -p /data/cert/
cd  /data/cert/
openssl genrsa -out server.key 4096
openssl req -x509 -new -nodes -sha512 -days 365 
    -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=reg.myharbor.com" 
    -key server.key 
    -out server.crt

#安装启动
./prepare
./install.sh
docker-compose ps

#客户端
#上传镜像
docker tag k8s.gcr.io/kube-controller-manager:v1.16.0 harbor.com/image/kube-controller-manager-amd64:v1.16.1

#登陆harbor出现报错
#Error response from daemon: Get https://47.96.106.109:80/v2/: http: server gave HTTP response to HTTPS client
#Error response from daemon: Get https://reg.myharbor.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
第一种方法(不一定成功):
docker login http://192.168.1.131:80

#docker暂时不支持https:
cat > /etc/docker/daemon.json << EOF
{ "insecure-registries":["192.168.1.131"] }
EOF
第二种方法(推荐):
mkdir /etc/docker/certs.d/harbor.com -p
scp root@192.168.1.131:/data/cert/harbor.com.crt /etc/docker/certs.d/harbor.com
vim /etc/hosts
cat > /etc/docker/daemon.json << EOF
{ "insecure-registries":["https://reg.myharbor.com"] }
EOF
systemctl restart docker
docker login https://reg.myharbor.com
第三种方法(推荐):
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.1.131
systemctl daemon-reload && systemctl restart docker
docker login 192.168.1.131

#要更改Harbour的配置,请先停止现有的Harbor实例并进行更新harbor.cfg。然后运行prepare脚本以填充配置。最后重新创建并启动Harbor的实例:
docker-compose down -v
vim harbor.cfg
./prepare
docker-compose up -d
少年不识愁滋味,爱上层楼。爱上层楼。为赋新词强说愁。 而今识尽愁滋味,欲说还休。欲说还休。却道天凉好个秋。
原文地址:https://www.cnblogs.com/orange-lsc/p/11712983.html