harbor私有仓库
私有仓库部署在部署节点上
解压此压缩包(压缩包在上篇博文<kubernetes部署中有链接,可下载>)
tar xzf harbor-offline-installer-v1.4.0.tgz
解压后得到一个harbor目录
将此目录移动至/opt目录下
mv harbor /opt
添加一块硬盘50G(如果不添加硬盘,我们添加的镜像都默认保存在系统盘里,随着镜像的增多,就会把第一块硬盘sda1撑爆的,所以要添加新的硬盘)
在/目录下创建date目录
mkdir /date
将刚填加的硬盘挂载到date目录
mount /dev/sdb1 /date
在date里建立harbor目录,目的是为了保存harbor的文件和镜像
mkdir /date/harbor
进入harbor的启动目录
cd /opt/harbor
编辑配置文件harbor.cfg
修改如下:
hostname = reg.yunwei.edu ui_url_protocol = https ssl_cert = /date/harbor/cert/harbor.crt ssl_cert_key = /date/harbor/cert/harbor.key secretkey_path = /date/harbor harbor_admin_password = admin
ssl_cert = /date/harbor/cert/harbor.crt ssl_cert_key = /date/harbor/cert/harbor.key
以上为ca证书名称,必须与实际文件同名
secretkey_path = /date/harbor 为ca证书目录
vim docker-compose.clair.yml
找到如下参数,并修为如下配置:
28行 /date/harbor/clair-db:/var/lib/postgresql/data:z
vim docker-compose.notary.yml
找到如下参数,并修为如下配置:
57行 /date/harbor/notary-db:/var/lib/mysql:z
vim docker-compose.yml
找到如下参数,并修为如下配置:
行 /date/harbor/:/var/log/docker/:z 19行 /date/harbor/registry:/storage:z 39行 /date/harbor/database:/var/lib/mysql:z 58行 /date/harbor/config/:/etc/adminserver/config/:z 59行 /date/harbor/secretkey:/etc/adminserver/key:z 60行 /date/harbor/:/data/:z 80行 /date/harbor/secretkey:/etc/ui/key:z 81行 /date/harbor/ca_download/:/etc/ui/ca/:z 82行 /date/harbor/psc/:/etc/ui/token/:z 101行/date/harbor/job_logs:/var/log/jobs:z 103行/data/harbor/secretkey:/etc/jobservice/key:z
回到kubernetes目录
cd /root/kubernetes
解压此压缩包,ca证书
tar xzf ca.tar.gz
把解压后的目录移动至/date/harbor目录下,并改名为cert
mv ca /date/harbor/cert
安装harbor程序
执行安装脚本,部署harbor
(1)在/opt/harbor/目录下
sh install.sh
(2)验证harbor是否部署成功:
必须在/opt/harbor/目录下执行
docker-compose ps
各节点设置登陆harbor私有镜像仓库
为各节点分发ca证书
(1)在每个节点(包括harbor节点)的/etc/docker/目录下,创建certs.d/reg.yunwei.edu/目录
cd /etc/docker mkdir -p certs.d/reg.yunwei.edu
(2)harbor节点上,将harbor的ca证书中的ca.crt拷贝到/etc/docker目录下
cp /date/harbor/cert/ca.crt /etc/docker/certs.d/reg.yunwei.edu/
(3)将harbor节点的ca.crt文件,分发给各节点的/etc/docker/certs.d/reg.yunwei.edu/下
scp /etc/docker/certs.d master:/etc/docker scp /etc/docker/certs.d node1:/etc/docker scp /etc/docker/certs.d node2:/etc/docker
(4)将以下内容写入所有节点的hosts文件
部署节点IP reg.yunwei.edu
(5)harbor镜像库验证
命令行:各节点登陆镜像库地址后,输入用户名/密码(admin/admin)后出现 Login Succeeded
docker login reg.yunwei.edu
web浏览器:浏览器输入harbor节点ip
上传镜像到harbor私有镜像仓库
本地镜像重新打tag
(1)例如将如下本地镜像
(2)重新打tag
docker tag itsthenetwork/nfs-server-alpine:latest reg.yunwei.edu/learn/nfs-server-alpine:latest
将重新打tag之后的镜像上传到镜像库
docker push reg.yunwei.edu/learn/nfs-server-alpine:latest
私有镜像库的使用
(1)在harbor镜像库中查看镜像
(2)节点配置好了ca证书的ca.crt后,便可执行如下命令下载镜像。在kubernets集群中节点在启动pod时,会自动下载镜像
docker pull reg.yunwei.edu/learn/nfs-server-alpine:latest
docker私有仓库它是通过docker-compose这么一个工具做的,它是可以完成同时编排多个容器启动,并且呢这些容器相互关联,帮我们启动一些服务,既然要用到docker-compose这个编排工具,就要有
一个docker-compose的编排文件,也就是docker-compose.yml,通过这种编排文件,才能给我们启动编排过来的容器,同时启动多个容器,docker-compose这个工具,必须在有docker-compose.yml这个文件的目录下操作。
查看起来的容器
docker-compose ps
比如我想现在删除这个容器,我不能直接docker stop 容器ID,必须先docker-compose stop Name,而后再使用docker rm 容器ID。
启动编排文件
docker-compose up –d 编排文件名字
harbor私有仓库的更多相关文章
- Harbor私有仓库中如何彻底删除镜像释放存储空间?
简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间.直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像.需要停止Harbor服务,执行垃圾回收命令 ...
- Docker以http访问Harbor私有仓库(一)
1 说明 前文Centos7搭建Harbor私有仓库(一)我们成功搭建Harbor,本篇我们主要配置Docker以http方式访问私有仓库 2 Docker配置 2.1 Mac系统 2.1.1 配置D ...
- Docker以https访问Harbor私有仓库(二)
1 说明 前文Centos7搭建Harbor私有仓库(二)中,我们以https方式搭建了Harbor,本篇我们主要配置Docker以https方式访问Harbor私有仓库 2 Docker配置 2.1 ...
- Centos7搭建Harbor私有仓库(二)
1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...
- 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库
1.jenkins主机上的docker配置 先在Jenkins主机的docke上配置上Harbor私有仓库地址 cat /etc/docker/daemon.json { "insecure ...
- 创建Harbor私有仓库
前提 1.安装docker服务 参考:https://blog.csdn.net/weixin_36522099/article/details/108861134 老名字:docker.docker ...
- Docker Harbor私有仓库部署与管理 (超详细配图)
Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...
- 配置 Containerd 在 harbor 私有仓库拉取镜像
官方文档地址:https://github.com/containerd/cri/blob/master/docs/registry.md 严格来说,这个具体可分为两部分 1.在k8s中使用Conta ...
- 搭建harbor私有仓库
2-1.项目说明 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由VMware开源,其通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源 Docke ...
随机推荐
- java源码-ReentrantLock源码分析-2
继续上篇ReentrantLock分析如何唤醒线程: 当调用lock.unlock()方法最终调用AQS类中的release方法,开始释放锁 tryRelease(1)方法在Sync对象中实现,首先会 ...
- springboot中静态属性/静态方法从YAML(yml)读取配置属性
启动类添加注解@EnableConfigurationProperties import jnetman.session.SnmpPref; import org.springframework.bo ...
- Java多线程(2):线程加入/join()
线程加入 join()方法,等待其他线程终止.在当前线程(主线程)中调用另一个线程(子线程)的join()方法,则当前线程转入阻塞状态,直到另一个线程运行结束,当前线程再由阻塞转为就绪状态. 也就是主 ...
- 重启 hdfs and yarn datanode
1- start-all.sh and stop-all.sh: Used to start and stop hadoop daemons all at once. Issuing it on th ...
- DataTable.Select筛选过滤数据返回DataRow[]转为DataTable添加到DataSet
问题还原,如图所示,我们要筛选所有SHDP 为北京翠微KR的数据. 1. 筛选DataTable微软为我们提供了一个方法DataTable.Select(),其用法如下: 1) Select()—— ...
- LeetCode.1103-向人们分发糖果(Distribute Candies to People)
这是小川的第393次更新,第425篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第256题(顺位题号是1103).我们通过以下方式向一排n = num_people个人分 ...
- PJzhang:从csdn到pipal密码分析工具
猫宁!!! 偶然看到一篇短文,是对2011年csdn泄露的约643万数据的数据汇总分析,这里做个简要总结 . 一.单一密码使用5000人以上的,14个,当时密码中有两个命名方式很有趣,dearbo ...
- 服务器iptables规则记录
很多时候,我在我自己的VPS上面部署了Cobalt Strike,可是网上很多叼毛就会扫描我们的VPS,然后发现我们的Cobalt Strike,如果你还建有web delivery,还会被人家下载上 ...
- 论文阅读 | Towards a Robust Deep Neural Network in Text Domain A Survey
摘要 这篇文章主要总结文本中的对抗样本,包括器中的攻击方法和防御方法,比较它们的优缺点. 最后给出这个领域的挑战和发展方向. 1 介绍 对抗样本有两个核心:一是扰动足够小:二是可以成功欺骗网络. 所有 ...
- WebMvcConfigurationSupport与WebMvcConfigurer的关系
大家从网上及源码注释上查到的解释是,在spring中配置WebMvc时有两种方法,一种是继承WebMvcConfigurationSupport,重写里面相应的方法,还有一种是继承WebMvcConf ...