Harbor 镜像仓库搭建

安装 Docker

# 下载 Docker 二进制包
[root@k8s-master01 ~]# wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.1.tgz
[root@k8s-master01 ~]# tar xf docker-18.09.1.tgz 
[root@k8s-master01 ~]# mv /root/docker/* /usr/bin

# 编写 Docker Systemd 管理文件
[root@k8s-master01 ~]# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target

# 启动 Docker
[root@k8s-master01 ~]# systemctl start docker

安装 Harbor(需要 Docker 环境)

# 下载 Harbor
[root@k8s-master01 ~]# wget https://github.com/goharbor/harbor/releases/download/v1.8.6/harbor-offline-installer-v1.8.6.tgz
# 解压到 /usr/local,创建软链接,方便日后升级
[root@k8s-master01 ~]# tar xf harbor-offline-installer-v1.8.6.tgz -C /usr/local
[root@k8s-master01 ~]# mv /usr/local/harbor /usr/local/harbor-V1.8.6
[root@k8s-master01 ~]# ln -s  /usr/local/harbor-V1.8.6  /usr/local/harbor

# harbor.yml 文件配置 (无 https)
[root@k8s-master01 harbor]# vim harbor.yml
hostname: www.myharbor.com
harbor_admin_password: harbor123
# The default data volume,重新搭建 Harbor 时,需要删除该目录下的数据,否则 Harbor 登录不进去
data_volume: /data
# 安装
[root@k8s-master01 harbor]# ./install.sh

配置域名解析 & 不安全镜像源

# 将私有仓库域名加入本地解析文件
[root@k8s-master01 ~]# vim /etc/hosts
10.0.0.50 www.myharbor.com

# 由于未配置 Https 需要在 daemon.json 中作如下配置
[root@k8s-master01 ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://yyu0sr3j.mirror.aliyuncs.com"],
  "insecure-registries": ["www.myharbor.com"]
}

# 重启 Docker 
[root@k8s-master01 ~]# systemctl restart docker

# 重启 Harbor 容器
[root@k8s-master01 ~]# docker-compose up -d 

登录 Harbor & 推送镜像

Windows 配置域名解析,登录 Harbor 创建新的项目

# 登录私有仓库
[root@k8s-master01 ~]# docker login www.myharbor.com
Username:
Password:
# 打标签 & Push 镜像
[root@k8s-master01 ~]# docker tag java-demo:v1 www.myharbor.com/wangqihan/java-demo:v1
[root@k8s-master01 ~]# docker push www.myharbor.com/wangqihan/java-demo:v1
记录成长过程
原文地址:https://www.cnblogs.com/zzzwqh/p/13622590.html