容器化部署harbor仓库

 

一、首先要安装docker

二、然后安装docker-compose

compose简介
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

 为何需要compose?
Harbor在物理机上部署是非常难的,而为了简化Harbor的应用,Harbor官方直接把Harbor做成了在容器中运行的应用,而且这个容器在Harbor中依赖类似redis、mysql、pgsql等很多存储系统,所以它需要编排很多容器协同起来工作,因此VMWare Harbor在部署和使用时,需要借助于Docker的单机编排工具(Docker compose)来实现。

# 删除原来不能执行的/usr/local/bin/docker-compose

sudo rm /usr/local/bin/docker-compose

# 下载安装docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加权限 sudo chmod +x /usr/local/bin/docker-compose

然后执行docker-compose version 或docker compose version 查看docker-compose版本看是否安装成功
个人建议还是去github上下载最新版的docker-compose Releases · docker/compose · GitHub

否者会出现报错例如:docker-compose up

启动容器报“no configuration file provided: not found”,配置文件未找到。其中最常见的原因是没有在有docker-compose.yaml的路径下执行该命令。(然而压根儿也找不到docker-compose.yaml文件或docker-compose.yml文件)同类型还有

  

ERROR:
        Can't find a suitable configuration file in this directory or any
        parent. Are you in the right directory?

        Supported filenames: docker-compose.yml, docker-compose.yaml

  1. 可以先在对应路径中执行find . -name "docker-compose.yml",确保确实存在该文件
  2. 通过docker-compose -version查询docker-compose版本,有时候是因为版本过低找不到文件

docker-compose工具命令
docker-compose up    //启动所有服务,默认读取名为docker-compose.yml文件
docker-compose up -d    //在后台启动所有服务

docker-compose build     //在运行项目前先构建项目所需镜像

docker-compose ps    //列出本地docker-compose.yml文件里定义的正在运行的所有服务

docker-compose stop    //停止所有服务,如果服务没有停止,可以使用docker-compose kill强制杀死服务

docker-compose start    //开启所有服务

docker-compose rm    //删除所有服务

三、安装harbor
1.下载harbor压缩包
 wget https://github.com/goharbor/harbor/releases/download/v2.4.3/harbor-offline-installer-v2.4.3.tgz

若下载速度过慢,可以尝试去官网下载,之后再上传到服务器Releases · goharbor/harbor (github.com)
2.把harbor解压至/usr/local目录下
 tar xf harbor-offline-installer-v2.4.3.tgz -C /usr/local/
3.进入harbor目录
 cd /usr/local/harbor/
4.把配置文件模板拷贝一份出来
 cp harbor.yml.tmpl harbor.yml
5.查看当前主机的主机名全称
hostname
6.编辑harbor.yml文件

vim harbor.yml
   //这里的主机名换成本机的主机名或IP地址


  //把https这行及子行都注释掉,因为没有弄ssl证书加密


7.启动harbor
./install.sh 

出现报错

 

Network harbor_harbor  Error                                                                                                                         0.0s
failed to create network harbor_harbor: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-0d7e5e7656ca -j RETURN: iptables: No chain/target/match by that name.

说明docker网关是关闭的,docker network无法对新的container进行网络配置,重启一下docker就行。

解决办法:重启docker服务 systemctl restart docker 

再次运行./install.sh 成功运行docker ps查看是否成功运行

 

查看harbor的登录账号密码

cat harbor.yml

 登录成功:80端口

 

上传镜像:

新建项目

 

1.使用docker登录到harbor

docker login 192.168.30.172

admin(harbro 用户名)

password(harbor密码)

报错:说拒绝连接,可能harbor容器没有正常运行可以执行docker ps 进行查看,若没有运行,可通过docker-compose up 进行拉起,若docker-compose也无法正常使用,可直接进入harbor(/usr/local/harbor) 执行./install.sh  重新拉取镜像创建容器

 

其他主机要登录到harbor,不能直接登录,会出现报错。

 

需要更改配置文件vi /etc/docker/daemon.json

 

systemctl daemon-reload

systemctl restart docker

之后即可连接成功。

上传镜像到harbor仓库

1先要给镜像打上标签

docker tag kicbase/stable:v0.0.39 192.168.30.172/library/minikube:v0.0.39

 

上传到harbor仓库

 docker push 192.168.30.172/library/minikube:v0.0.39

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值