Ubuntu安装harbor(http模式)并随便上传一个

Ubuntu安装harbor(http模式)

docker和harbor的介绍就免了,都不知道啥东西,还安装搞毛

先安装docker环境

不要问,软件源之类的配置,挨个梭就行

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”

必要梭哈的搞完了正式安装docker

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

验证是否正常

sudo systemctl status docker

Ubuntu安装harbor(http模式)并随便上传一个_第1张图片

安装harbor

github选版本下载
下载的tgz文件放到/usr/local,解压

cd /usr/local
tar -xvf harbor-offline-installer-v2.8.3.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml #复制一份修改,万一发生万一了,有个复原的
vim harbor.yml

Ubuntu安装harbor(http模式)并随便上传一个_第2张图片
80端口容易冲突,有个nginx什么的,但是80端口好用啊
Https搞不明白的,建议注释掉,写博客的时候我已经注释了
蓝色的是默认密码,记一下就行,不用改
保存退出,执行安装指令

sudo ./install.sh

Ubuntu安装harbor(http模式)并随便上传一个_第3张图片
打开浏览器访问地址http://ip:port/harbor,我的本机不加/harbor老是跳转到https
admin/Harbor12345
登录

上传一个镜像

登录到harbor的管理系统后,在项目选择新建项目
Ubuntu安装harbor(http模式)并随便上传一个_第4张图片

先登录

docker login hostname(harbor.yml配置的那个)

先看一下本地都有些啥镜像

docker images

反正就是为了推一个镜像测试功能,新搞一个helloWorld的镜像上传也行,找个现成的推一下也行
docker images列表,刚刚安装haibor保底有以下的镜像
Ubuntu安装harbor(http模式)并随便上传一个_第5张图片
用最小的goharbor做示例,添加一个tag

docker tag goharbor/registry-photon:v2.8.2 hostname/test/registry:v1

使用docker images能看到镜像列表多了一行

docker push hostname/test/registry:v1

提示成功后,去harbor管理系统打开test查看

问题和处理

  1. denied: requested access to the resource is denied
    分析: 未登录 或 登录别的地址 或 push的地址不对。
    办法: docker login xxxx(没有这个地址默认登陆到dockerhub了),之前登录成功过,会自动验证通过。harbor默认账密:admin/Harbor12345
    登录是成功的,考虑推送的地址有问题,打开系统,看一下正确的应该是啥格式
    Ubuntu安装harbor(http模式)并随便上传一个_第6张图片

  1. Error response from daemon: Get “https://xx.xx.xx.xx/v2/”: dial tcp xx.xx.xx.xx:443: connect: connection refused

分析: harbor地址是http的,但是你的docker链接的时候非要用https,导致绿驴唇不对马嘴,
办法: 修改docker.service文件,文件位置:/usr/lib/systemd/system/docker.service docker,不放心的也可以查找一下 find / -name “docker.service”

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

ExecStart=/usr/bin/dockerd --insecure-registry=x.x.x.x #你的harborIP

然后重启一下,如果发现重启报错,删除daemon.json文件的insecure-registries

systemctl daemon-reload && systemctl restart docker


  1. Error response from daemon: Get https://xxxx.xxxx.xxx/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
    分析: 系统不认识你的域名,解析蒙了
    办法: 修改/etc/hosts 添加一行

x.x.x.x yyy.com


  1. read tcp read: connection reset by peer
    没记住是啥原因,没方向瞎折腾的时候出现过,来来回回忘了怎么解决的了

你可能感兴趣的:(ubuntu,http,linux)