前期准备
安装harbor前,需要提前安装好docker和docker-compose
检查是否安装了docker和docker-compose
docker -v && docker-compose -v
安装harbor
下载harbor
https://github.com/goharbor/harbor/releases
找到最新的版本,有Latest标签的
下载在线版安装包
如果没有网络条件可以下载离线版
解压
tar -zxf harbor-online-installer-v2.10.0.tgz
进入目录,会发现有这几个文件
cd harbor
ll
修改配置
复制一份配置文件
cp harbor.yml.tmpl harbor.yml
编辑复制的配置文件
vim harbor.yml
需要修改的地方
# 当前服务器的ip
hostname: 192.168.200.105
# admin用户登录密码
harbor_admin_password: 123456
database:
# 数据库密码
password: 123456
http:
# 服务端口
port: 8858
将https相关的都注释掉
# 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
进行安装
./install.sh
出现successfully就说明安装成功了
查看运行状态
docker ps
访问harbor
用户名为admin,密码为你刚刚yml设置的密码
发布镜像
初始操作
登录harbor
新建项目
进入项目,目前是没有任何镜像
将你的harbor仓库添加到可信任的列表
编辑docker配置文件
vim /etc/docker/daemon.json
添加以下配置
{
"insecure-registries": ["192.168.200.105:8858"]
}
重启docker
systemctl daemon-reload
systemctl restart docker
重启之后,你会发现刚刚的harbor容器都退出了
这时候重新install一下就好了
./install.sh
进行登录
帐号密码就是你登录harbor的帐号密码
docker login -u admin -p 123456 192.168.200.105:8858
进行发布
打标签
docker tag nginx:1.24 192.168.200.105:8858/harbor-test/nginx:1.24
标签需要严格按照 ip:端口/项目名/镜像名[:标签],否则是推送不上去的
推送到远程仓库
docker push 192.168.200.105:8858/harbor-test/nginx:1.24
刷新一下harbor仓库信息,就会发现多了一个镜像
拉取镜像
在要拉取的服务器上登录
docker login -u admin -p 123456 192.168.200.105:8858
友情提示:192.168.200.105:8858要在/etc/docker/daemon.json中添加到信任列表,否则是登录不上去的
拉取镜像
docker pull 192.168.200.105:8858/harbor-test/nginx:1.24
代理远程仓库
到仓库管理中,新建一个仓库
填写仓库信息和代理信息
官方代理地址(需科学上网):https://registry-1.docker.io
腾讯云代理地址:https://mirror.ccs.tencentyun.com
回到项目中,新建一个项目
开启镜像代理,选择刚刚创建的仓库
服务器上操作
1. /etc/docker/daemon.json中添加仓库地址
2. docker login进行登录
3. 拉取私服镜像
docker pull 192.168.100.105:8858/proxy/library/nginx:1.24.0
注意,项目名后面要加library,否则无法正常拉取镜像