环境:centos7.4

docker-ce 18.06.0-ce

docker-compose version 1.18.0

harbor 版本: 1.5.2

harbor 安装参考 https://github.com/goharbor/harbor/blob/v1.5.2/docs/installation_guide.md

安装 docker

安装 docker-compose

mkdir /iba/
cd /iba/ wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.2.tgz
tar xvf harbor-online-installer-v1.5.2.tgz cd harbor # 修改 hostname
vi harbor.cfg
hostname = harbor #注意: 这里可以写 IP地址,也可以写域名,写域名需确保 DNS 可以解析 # 添加 hosts
vi /etc/hosts
192.168.0.241 harbor hostnamectl set-hostname harbor # harbor 存储数据默认是 /data 目录(这个会自动创建),可以根据自身需要挂载一个单独的分区在这个目录下 # 启动,同时启用漏洞分析
./install.sh --with-clair # 开放防火墙
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload

浏览器访问

http://192.168.0.241

用户名:admin

密码:Harbor12345

# 可以执行如下的命令进行停止和启动
cd /iba/software/harbor # 停止
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down # 启动
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml up -d

把镜像上传到 harbor 或下载

# 需要添加 insecure-registries 选项
vi /etc/docker/daemon.json
{
"insecure-registries": ["192.168.0.241"]
} systemctl reload docker # 检查
docker info # 如果 horbor 的仓库不是公开的,需要登录(建议设置公开)
docker login -u admin -p Harbor12345 192.168.0.241 可在配置文件 /root/.docker/config.json 查看 # 打tag,这里需要注意: klvchen 是 Harbor 新建的项目名称。原有的项目为 library
docker tag docker.io/centos:7.4.1708 192.168.0.241/klvchen/centos:7.4
docker push 192.168.0.241/klvchen/centos:7.4

删除 horbor 镜像,这里分为两步:

1.在 webui上先进行软删除

2.进行硬删除,在跑这 harbor 的机器上执行
cd /iba/software/harbor docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml stop # 打印出来已删除镜像,但不进行空间释放和垃圾回收
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect --dry-run /etc/registry/config.yml # 执行垃圾回收命令
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml cd /iba/software/harbor
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml start

错误参考

一:登录时遇到错误
[root@node1 ~]# docker login -u admin -p Harbor12345 192.168.0.241
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get http://192.168.0.241/v2/: Get http://harbor/service/token?account=admin&client_id=docker&offline_token=true&service=harbor-registry: dial tcp: lookup harbor on 114.114.114.114:53: no such host 解决办法:
#添加hosts
192.168.0.241 harbor 二:运行一段时间后修改配置文件,报错 Couldn't find env file: /iba/software/harbor/common/config/clair/clair_env
cd /iba/software/harbor
# 停止
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down # 启动
./prepare ./install.sh --with-clair

Harbor 搭建的更多相关文章

  1. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  2. Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库

    搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...

  3. docker 私有仓库之Harbor搭建与使用

    Harbor搭建 下载Harbor: http://harbor.orientsoft.cn/ #下载offline版本 配置Harbor tar xvf harbor-online-installe ...

  4. docker的私有化仓库harbor搭建

    目前比较流行的docker私有化仓库是harbor,harbor是一个github开源的项目,直接在github上搜索即可,下载地址:https://github.com/goharbor/harbo ...

  5. harbor搭建及使用

    harbor搭建及使用   1 系统及软件版本 1.1 系统版本 # uname -a Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP ...

  6. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  7. 企业级仓库harbor搭建

    1.Harbor是什么? Harbor是Vmvare中国团队开发的开源registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务.在企业 ...

  8. 【K8S】基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)

    写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 服务器规划 IP 主机名 节点 操作 ...

  9. harbor搭建与使用

        前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub.由于我们的代码是要放到镜像里的,通过运行容器,便能获取我们的全部代码,风险很大.所以我们决定进行私有化的镜像部 ...

  10. Kubernets二进制安装(5)之私有仓库harbor搭建

    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...

随机推荐

  1. wpf使用FFMEPG录制屏幕

    Simple function of recording screen based on ffmpeg Using WPF环境 Visual Studio 2017,dotNet Framework ...

  2. org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver '

    问题摘要: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nest ...

  3. turtle库实现汉诺塔

    import turtleturtle.screensize(800,800) class Stack: def __init__(self): self.items = [] def isEmpty ...

  4. JavaScript中的constructor和继承

    概述 这是我在看JavaScript面向对象编程指南的时候,对constructor和继承的总结. 关于它们的详细知识,可以上网查到,所以我只写那些网上没有的. 内容 constructor的理解 c ...

  5. 功能强大的swiper插件

    概述 今天体验了一下swiper,真是太强大了,无论是PC端还是移动端,各种轮播滑块效果随便实现.美中不足的是,有些实现需要自己想办法.下面我记录下我的需求和我的实现,供以后开发时参考,相信对其他人也 ...

  6. 写你的shell,其实很简单[架构篇]

    引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关 ...

  7. 使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[开发篇]

    在以前的项目中,就曾听说过swoole的大名,想用来进行消息推送,但是当时只是有了初步的了解,并不敢大胆的运用到线上产品.所谓 识不足则多虑,威不足则多怒.所以就是怕,只能跟领导说了运用极光的推送功能 ...

  8. Shell-3--变量

    用户自定义变量 环境变量 位置参数变量 预定义变量

  9. django权限管理(Permission)

    什么是权限管理 权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自 己被授权的资源 权限管理好比如钥匙,有了钥匙就能把门打开,但是权限设置是有级别之分的,假如这个 系统有多 ...

  10. 14-使用glusterfs做持久化存储

    使用glusterfs做持久化存储 我们复用kubernetes的三台主机做glusterfs存储. 以下步骤参考自:https://www.xf80.com/2017/04/21/kubernete ...