Harbor简介:

Harbor是一个用于存储和分发docker镜像的企业级注册服务器,用来构建企业内部的docker镜像仓库,达到快速,安全的效果。


1、下载harbor安装包


wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-online-installer-v2.5.3.tgz
harbor-online-installer-v2.5.3.tgz
tar xf harbor-online-installer-v2.5.3.tgz -C /usr/local/harbor/

2、修改项目配置

记得关闭防火墙

根目录:/usr/local/harbor/

复制根目录的配置文件harbor.yml.tmpl 为harbor.yml

修改hostname字段为你的域名或者ip地址

默认端口是80和443端口,web界面使用80端口,酌情修改

tips:如果修改,下边的操作中“全局环境变量后边要加端口号”“登录harbor的时候也要加上端口号”“镜像打标签和上传下载镜像也需要带上端口”

如果没有证书的话,注释掉配置文件里https的配置


3、安装

./prepare && ./install.sh

修改过配置文件后也需要执行./prepare

启动和停止都是用docker-compose/start/stop/restart

默认用户密码

admin Harbor12345


4、创建可登录用户

登录后,点击左侧用户管理创建用户


Harbor 私有docker仓库_IP

5、新建项目

点击左侧项目,新建公共项目(私有项目需要添加成员)

Harbor 私有docker仓库_重启_02

Harbor 私有docker仓库_重启_03

6、登录使用

登录harbor仓库,否则不能上传下载镜像

直接登录这里会报个错误:

Error response from daemon: Get "https://192.168.8.9/v2/": dial tcp 192.168.8.9:443: connect: connection refused


这是因为docker的/etc/docker/daemon.json文件没有配置白名单

如果没有这个文件或目录的话

创建目录:mkdir /etc/docker/ 

创建文件:touch /etc/docker/daemon.json

输入以下内容


{
"insecure-registries": ["192.168.8.9"]
}


如果有的话

在全局环境添加 "insecure-registries": ["192.168.8.9"]

需要重启docker,再重启一下harbor

如果重启docker之后报这个错误:

Error response from daemon: Get "http://192.168.8.9/v2/": dial tcp 192.168.8.9:80: connect: connection refused

1、首先查看web界面是否监听的80端口,是的话修改daemon.json文件2、进入根目录执行 docker-compose restart 重启项目


登录命令

docker login -u admin -p Harbor12345 192.168.8.9  ##改端口后,IP后边加端口ip:port
docker login -u erpao -p Aa123456 192.168.8.9 ##改端口后,IP后边加端口ip:port

点击仓库,查看上传命令


Harbor 私有docker仓库_docker_04


标签格式:docker tag 需要上传的镜像 192.168.8.9/仓库名/要改成啥名
标签例子:docker tag nginx 192.168.8.9/erpao/nginx:v1 ##改端口后,IP后边加端口ip:port
上传格式:docker push 标签后的镜像
上传例子:docker push 192.168.8.9/erpao/nginx:v1 ##改端口后,IP后边加端口ip:port


Harbor 私有docker仓库_重启_05

下载:docker pull 192.168.8.9/erpao/golang:1.18.4 ##改端口后,IP后边加端口ip:port


Harbor 私有docker仓库_docker_06

到现在就可以简单使用harbor了

注意啊,如果你是复制浏览器里的拉取命令,那删除镜像的时候,就需要用浏览器那条命令,例如:

docker pull 192.168.8.9/erpao/gogs@sha256:28c31286b6dcb1d89054614d925140ceec31e2735b60e09026337bc30cdd5426
docker rmi 192.168.8.9/erpao/gogs@sha256:28c31286b6dcb1d89054614d925140ceec31e2735b60e09026337bc30cdd5426


就这么些了,够用了已经,再深究就是专业使用docker的企业,我暂时还没接触