您的位置 首页 docker

docker 私有仓库搭建(部署harbor服务)docker登录

docker 私有仓库搭建

什么是私有仓库:
一般是公司内部使用的私有镜像仓库。不对外部开放的镜像仓库,

为什么需要私有仓库:

(1)安全性问题:
官方镜像仓库大家都可以访问,若都放在官方,那自然大家都能拿到你们公司的自建镜像。
(2)访问速度:
官方的服务器在国外,访问速度可想而知,有时候甚至官方网站都打不开。

主流的私有仓库:

docker registry:
是一个轻量级的私有镜像仓库,基本上,基本上不占用内存,很适合学习环境中使用。
上传的镜像会被进行压缩处理,没有提供较好的WebUI,维护起来比较麻烦,尤其是删除镜像。

harbor:
基于官方的"docker registry"进行二次开发,是一个时候企业级使用的镜像仓库。

部署harbor服务:

1.GitHub的官方地址

https://github.com/goharbor/harbor

2.下载harbor

wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz

harbor: https://url69.ctfile.com/d/253469-56504576-2da440?p=2206 (访问密码: 2206)

 

3.解压软件包

tar xf harbor-offline-installer-v2.8.2.tgz -C /baimei/softwares/

4.修改配置文件

cd /baimei/softwares/harbor/

cp harbor.yml.tmpl harbor.yml

vim harbor.yml

# 添加主机名称

hostname: harbor.baimei.com

 

# 注意掉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
...
# 设置管理员密码
harbor_admin_password: 1

5.安装harbor

 ./install.sh 

修改一下 配置文件后 再次 安装

成功

6.登录harbor

echo 1 | docker login -u admin --password-stdin harbor.baimei.com

出现这个错误需要修改:

 cat /etc/docker/daemon.json

 

{

  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "insecure-registries": ["10.0.0.202:5000"]

}

端口一定是 配置的 port

修改后 重启docker

systemctl restart docker

 

systemctl start docker
docker-compose up -d   # 启动任务

 

http://10.0.0.202/

浏览器访问:

 

新建项目:

 

docker tag SOURCE_IMAGE[:TAG] harbor.baimei.com/test/REPOSITORY[:TAG]

我们来推送一个 镜像到 harbor 上

先下载一个镜像:

docker run alpine

 

docker tag  alpine:latest  harbor.baimei.com/test/alpine:v3
docker push harbor.baimei.com/test/alpine:v3

解决方法:

vim /etc/docker/daemon.json
[root@baimeidashu ~]#cat  /etc/docker/daemon.json 
{

  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "insecure-registries": ["10.0.0.202:5000","harbor.baimei.com"]
}

harbor.baimei.com加入进去。

重启 docker 服务

systemctl rejstart  docker

 

再次push

docker push harbor.baimei.com/test/alpine:v3

 

又报错了。

unauthorized: unauthorized to access repository: test/alpine, action: push: unauthorized to access repository: test/alpine, action: push

原因就是 ,没有权限

我们登录一下:

docker login -u admin -p 1 harbor.baimei.com

 

这样密码就会保存在一个文件中

docker 退出后  密码文件消失

再次 push  就会成功了

cat /root/.docker/config.json

[root@baimeidashu /baimei]#cat /root/.docker/config.json 
{
	"auths": {
		"harbor.baimei.com": {
			"auth": "YWRtaW46MQ=="
		}
	}
}

 

echo YWRtaW46MQ== | base64 -d

bas64 解码

 

补充:

harbor 的数据都存在了 ll /data/

 

启动 项目 :

docker-compos up -d 

 

开机自动启动:linux设置开机自动执行命令(开机启动) :连接

sh /baimei/softwares/harbor/install.sh 
vim /etc/rc.local

 

成功了。

harbor配置自建证书 ssl  : 连接


知识点

# echo 1 | docker login -u admin --password-stdin harbor.baimei.com  
# docker login -u admin -p 1 harbor.baimei.com
# docker login harbor.baimei.com
退出harbor:
# docker logout harbor.baimei.com

 


Error response from daemon: Get "https://harbor.baimei.com/v2/": dial tcp 10.0.0.202:443: connect: connection refused

 

这个原因,我们来解决一下:

 

 

 

harbor: https://url69.ctfile.com/d/253469-56504576-2da440?p=2206 (访问密码: 2206)

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章