Linux环境下Harbor镜像仓库搭建

Harbor镜像仓库搭建
1、环境准备 (Linux系统,联网服务器)
需要安装docker, docker-compose
1.1Docker 安装
# yum 包更新
[root@centos7 ~]# yum update

# 卸载旧版本 Docker
[root@centos7 ~]# yum remove docker docker-common docker-selinux docker-engine

# 安装软件包
[root@centos7 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker yum源
[root@centos7 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker
[root@centos7 ~]# yum -y install docker-ce

# 启动 Docker
[root@centos7 ~]# systemctl start docker

# 查看 Docker 版本号
[root@centos7 ~]# docker --version
————————————————
1.2 Docker Compose 安装
# 安装 epel-release
[root@centos7 ~]# yum install epel-release

# 安装 python-pip
[root@centos7 ~]# yum install -y python-pip

# 安装 docker-compose
[root@centos7 ~]# pip install docker-compose

# 安装 git
[root@centos7 ~]# yum install git

# 查看 docker-compose 版本号
[root@centos7 ~] docker-compose -version
————————————————
2. 安装Harbor
2.1 Harbor 下载与安装
#在线下载Harbor安装包
wget https://storage.googleapis.com/harbor-releases/release-1.9.1/harbor-online-installer-v1.9.1.tgz
#解压安装包
tar xf harbor-online-installer-v1.8.1.tgz
#进入harbor目录
cd harbor
#修改主机名和管理员密码、数据库密码
vim harbor.yml
#修改内容
-----------------------------------------------------------------------------------
hostname: 10.0.0.11 #修改IP为服务器对外IP
harbor_admin_password: 123456 #修改Harbor admin密码
database:
password: 123456 #修改数据库密码
--------------------------------------------------------------------------------------
#安装
./install.sh
#接下来就是漫长的等待
2.2 Harbor 访问
安装完成之后,打开浏览器http:10.0.0.11,就能看到Harbor的界面了。

这里还要在说一个问题
Harbor是搭建完成了,在我们上传项目的时候可能会出现一些问题

docker login 10.0.0.11
Username: admin
Password:
Error response from daemon: Get https://10.0.86.193/v1/users/: dial tcp 10.0.86.193:443: getsockopt: connection refused

在我们进行登录上传代码的时候,会报出这样的错误
这是因为docker1.3.2版本开始默认docker registry使用的是https,我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker regsitry的时就会报错。
解决办法:
1、如果是在Harbor本机登录可以这样做如下解决

如果系统是MacOS,则可以点击“Preference”里面的“Advanced”在“Insecure
Registry”里加上10.0.86.193,重启Docker客户端就可以了。
如果系统是Ubuntu,则修改配置文件/lib/systemd/system/docker.service,修改[Service]下ExecStart参数,增加–insecure-registry
10.0.86.193。
如果系统是Centos7,可以在/etc/docker/daemon.json 加上如下内容(注意是json字符串)
{
"insecure-registries": [
"10.0.86.193"
]
}

打开docker-compose.yml添加如下内容,注意前边的空格

然后我们执行docker-compose stop
./install.sh
再次登录就OK了

[root@docker02appl]# docker login 10.0.0.11
Username(admin): admin
Password:
Login Succeeded

2、如果是远程登录的话,也会出现这个错误

查找Docker的服务文件:登录到已经安装Docker的服务器,输入 systemctl status docker查看Docker的service文件。

编辑docker.service文件:在ExecStart处添加 –insecure-registry 参数,后边跟的是你Harbor的IP地址。


重新加载service文件,重启docker服务,重启docker-compose服务。
systemctl daemon-reload
systemctl restart docker
docker-compose restart

再次登录:
docker login [ip地址或域名](Harbor地址,harbor.cfg文件中的hostname项)
//根据提示分别输入用户名和密码

**附上拉取和推送的命令:**
3\.Harbor私服的使用

#推送之前先登录Harbor
docker login 10.0.86.193
admin
Harbor12345
提示success登录成功

查看自己有哪些镜像;docker images
把需要上传到Harbor的镜像运行如下命令就可以了
#镜像打标签
[root@centos7 ~]#docker tag 镜像名:标签 私服地址/仓库项目名/镜像名:标签

#推送到私服
[root@centos7 ~]#docker push 私服地址/仓库项目名/镜像名:标签

#从私服拉取镜像
[root@centos7 ~]#docker pull 私服地址/仓库项目名/镜像名:标签

猜你喜欢

转载自www.cnblogs.com/skyfighter123/p/11755404.html