以 2.7.4 版本为例(默认已安装 docker):
-
下载安装 tar 包
curl -L https://github.com/goharbor/harbor/releases/download/v2.7.4/harbor-offline-installer-v2.7.4.tgz -o harbor.tar.gz
下载完成后会生成一个 harbor.tar.gz 文件。
-
解压 tar 文件
tar -xvf harbor.tar.gz
解压完成后会生成一个 harbor 文件夹。
-
修改 yml 文件
上一步生成的 harbor 文件夹内包含了一个 harbor.yml.tmpl 文件,拷贝该文件为 harbor.yml:
cp harbor.yml.tmpl harbor.yml
修改 yml,hostname 修改为本机 IP,port 修改为自己想要的端口,去掉 https 的内容:
# The IP address or hostname to access admin UI and registry service. # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients. # 需要注意的是 key、value 之间是有空格的 hostname: 192.168.30.11 # http related config http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 18082 # https related config # https: # # https port for harbor, default is 443 # port: 443 # # The path of cert and key files for nginx # certificate: /your/certificate/path # private_key: /your/private/key/path
-
安装 harbor
在 harbor 目录执行:
bash install.sh
安装成功后,会出现:
✔ Network harbor_harbor Created 0.1s ✔ Container harbor-log Started 1.7s ✔ Container redis Started 1.9s ✔ Container registryctl Started 2.3s ✔ Container registry Started 2.3s ✔ Container harbor-db Started 1.9s ✔ Container harbor-portal Started 2.3s ✔ Container harbor-core Started 2.6s ✔ Container harbor-jobservice Started 3.6s ✔ Container nginx Started 3.7s ✔ ----Harbor has been installed and started successfully.----
这个时候安装就成功了。可以通过以下命令管理 docker:
# 查看 docker-compose ps # 启动 docker-compose up -d # 停止 docker-compose down
-
访问 harbor
安装成功后就可以访问 harbor 了,访问地址为 yml 配置地址,我们这里是
http://192.168.30.11:18082/
,默认的账号密码为 admin/Harbor12345(yml 文件配置)。 -
配置镜像源
我们通过 http 访问需要配置 insecure-registries。 mac 上可以通过界面 setting=>Docker Engine 设置镜像源:
{ "insecure-registries": ["192.168.30.11:18082"] }
修改完后点击 Apply。
在 linux 上一般为
/etc/docker/daemon.json
文件,修改完后重启 docker:systemctl daemon-reload systemctl restart docker
-
登录
//登录某个用户 docker login 192.168.30.11:18082 -u admin
-
tag
将本地已经生成好的某个 image(如 xhm-nginx:0.0.1) 打标签:
//docker tag local-image:tag your-registry-url/your-repository:tag docker tag xhm-nginx:0.0.1 192.168.30.11:18082/library/xhm-nginx:0.0.1
-
推送镜像
//docker push your-registry-url/your-repository:tag docker push 192.168.30.11:18082/library/xhm-nginx:0.0.1
自此,就可以推送镜像到私有部署的地址了。