部署企业私有镜像仓库Harbor
私有镜像仓库有许多优点
1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
VMware公司开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服务。
华为云购买云主机,准备环境如下
主机名称 IP地址 角色
harbor 192.168.1.100 Harbor私有镜像仓库
docker 192.168.1.68 Docker主机
- 分发实验所需软件包
Dokcer Compose 是用于定义和运行多容器 Docker 应用程序的工具。
Harbor的每个组件都是以Docker容器的形式构建的,所以使用Docker Compose来对它进行部署。
部署私有镜像仓库harbor
从jump-server 主机拷贝harbor软件到1.100主机
[root@jump-server ~]# scp -r /root/project3/harbor 192.168.1.100:/root/
harbor主机开机路由转发
[root@harbor ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf [root@harbor ~]# sysctl -p
harbor主机安装docker服务,并启动
[root@harbor ~]# cd /root/harbor/ [root@harbor harbor]# yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm [root@harbor harbor]# systemctl start docker [root@harbor harbor]# systemctl enable docker
部署harbor [root@harborharbor]# mv docker-compose /usr/local/bin/ [root@harborharbor]# chmod +x /usr/local/bin/docker-compose [root@harborharbor]# tar -xf harbor-offline-installer-v2.2.3.tgz -C /usr/local/ [root@harborharbor]# cd /usr/local/harbor [root@harbor harbor]# ls common.sh harbor.yml.tmpl LICENSE harbor.v2.2.3.tar.gz install.sh prepare
4)修改配置文件
#拷贝harbor配置文件[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml #访问harbor管理界面的地址,改为本机的IP地址 [root@harbor harbor]# vim harbor.yml 5 hostname = 192.168.1.100 #加上注释,否则需要证书 13 #https: #加上注释 14 # https port for harbor, default is 443 15 #port: 443#加上注释 16 # The path of cert and key files for nginx 17 #certificate: /your/certificate/path #加上注释 18 #private_key: /your/private/key/path #加上注释
安装harbor
[root@harbor harbor]# ./install.sh ....... ✔ ----Harbor has been installed and started successfully.---- [root@harbor harbor]# ss -antpu | grep 80 tcp LISTEN 0 1024 [::]:80 [::]:* users: (("docker-proxy",pid=15459,fd=4))
1、设置监听器,添加后端服务器。没有需要购买
【服务器列表】—>【弹性负载均衡ELB】—>【(自定义ELB名称)】—>【监听器】—>【添加监听器】。
另外购买一个新的公网IP地址,绑定到此负载均衡器上面
2、访问Harbor界面(http://公网IP地址:80)
用户名:admin 密码:Harbor12345(密码在配置文件)
部署一台Docker主机用于测试上传和下载。
安装docker软件
Docker Registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会
报上面的错误。为了解决这个问题需要在启动docke时增加启动参数为默认使用http访问。这个是在客户机的docker配
置文件里添加的(即上传镜像到私有仓库里或从私有仓库下载镜像的客户机)harbor主机拷贝docker软件包到docker主机
[root@harbor harbor]# cd /root/harbor/ [root@harbor harbor]# scp docker-ce-18.06.3.ce-3.el7.x86_64.rpm 192.168.1.68:/root/
docker主机安装docker软件包,更改配置文件
[root@docker ~]# yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm [root@docker ~]# vim /usr/lib/systemd/system/docker.service 12 ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.100:80 [root@docker ~]# systemctl daemon-reload && systemctl enable docker && systemctl start docker
测试登录Harbor镜像仓库。
[root@docker ~]# docker login http://192.168.1.100:80 Username: admin Password: Harbor12345 ....... Login Succeeded
#密码信息会存储在/root/.docker/config.json中
注意:如果没有添加--insecure-registry 192.168.1.100:80,在登录时会报以下错误。
Error response from daemon: Get https://192.168.1.100:80/v2/: http: server gave HTTP response to
HTTPS client解决方法:添加参数,重启服务即可。
向私有仓库中上传镜像 harbor主机上传busybox镜像给docker主机[root@harbor docker]# cd /root/harbor/ [root@harbor harbor]# scp busybox.tar 192.168.1.68:/root/[点击并拖拽以移动]#docker主机导入镜像[root@docker ~]# docker load -i busybox.tar [root@docker ~]# docker images[点击并拖拽以移动]#查看系统中镜像 [root@docker ~]# docker tag busybox:latest 192.168.1.100:80/library/busybox:latest #更改标签[root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.67:8099/library/busybox latest be5888e67be6 2 months ago 1.22MB busybox latest be5888e67be6 2 months ago 1.22MB[点击并拖拽以移动]#向私有仓库推送镜像[root@docker ~]# docker push 192.168.1.100:80/library/busybox:latest The push refers to repository 192.168.1.100:80/library/busybox] 5b0d2d635df8: Pushed latest: digest: sha256:a2490cec4484ee6c1068ba3a05f89934010c85242f736280b35343483b2264b6 size: 527
在界面中查看刚刚上传的镜像文件。
能够看到镜像仓库数为1,点击项目名称,查看该项目下的镜像文件
点击进去,可以看到上传的镜像
将系统中目前有的镜像文件删除, 从私有镜像仓库中下载镜像
[root@docker ~]# docker rmi 192.168.1.100:80/library/busybox:latest [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest be5888e67be6 2 months ago 1.22MB 下载镜像 [root@docker ~]# docker pull 192.168.1.100:80/library/busybox:latest [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.67:8099/library/busybox latest be5888e67be6 2 months ago 1.22MB busybox latest be5888e67be6 2 months ago 1.22MB
点击左侧导航栏,可以看到日志信息
如果harbor停止了,可以使用如下命令启动[root@harbor ~]# cd /usr/local/harbor/ [root@harbor harbor]# docker-compose up -d
部署企业私有镜像仓库Harbor相关推荐
- 【Docker】registry部署docker私有镜像仓库
Docker Hub作为Docker默认官方公共镜像仓库,但是如果我们不想使用怎么办,第一我们可以替换默认镜像仓库为我们国内的一些镜像仓库,第二就是如我们自己搭建一个自己的私有镜像仓库,官方也提供do ...
- 阿里云部署Docker私有镜像仓库
一.访问阿里云容器镜像服务地址 地址:https://cr.console.aliyun.com/cn-beijing/instances 提示开通->设置密码(为Docker仓库密码) 二.选 ...
- 镜像浏览器_Docker 企业级私有镜像仓库 Harbor 部署
Docker官方仓库为 Docker Registry 作为镜像仓库,部署过程中会遇到了很多问题. 除此之处,Docker Registry 没有管理页面,甚至连一些运维必备的功能都是缺失的,还有什么 ...
- 私有镜像仓库Harbor仓库v1.8.1离线安装以及生产基本使用
官网https://goharbor.io/ 部署文档https://github.com/goharbor/harbor Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上, ...
- 容器技术-部署企业级Docker镜像仓库Harbor
在网上找了个 k8s 教程,觉得挺全的,分享给大家. 链接: https://pan.baidu.com/s/19ECniUoF243Vn9sQF6cXpA 密码: v98f –来自百度网盘超级会员V ...
- 【云原生 | 07】官方镜像仓库Docker Hub和企业级私有镜像仓库Harbor
- Docker: 企业级镜像仓库Harbor的使用
上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...
- centos7部署企业镜像仓库 Harbor
Harbor 仓库介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的. ...
- 华为云ECS-CentOS8.2部署(Harbor)Docker私有镜像仓库
华为云ECS-CentOS8.2部署(Harbor)Docker私有镜像仓库 1.背景 2.环境说明 3.在CentOs中安装所需要的软件包 4.部署Harbor 4.1.安装docker-compo ...
最新文章
- sqlu8多阶级层次bom_男性比女性多3164万:性别比例失衡,为何还有那么多剩女?...
- 记一次Spring boot 和Vue前后端分离的入门培训
- POJ2352-Stars【树状数组】
- bzoj 4278 Tasowanie 后缀数组+贪心
- python自动化办公模块有哪些-Python自动化办公知识点整理汇总
- android手机网络Ping测试
- 解决Tomcat显示中文乱码问题
- Python 关于日期相减 获得两个日期的天数差
- linux服务器的外网IP查阅方式
- 如何在java面试中给出一个出彩的自我介绍
- java bean 首字母大写_javaBean命名规范 get / set 后的首字母大写
- node.js事件驱动的非阻塞 I/O模型理解
- ubuntu 20.04开启echo和daytime服务,亲测可用
- Jupyter 是什么
- 首页 干货教程 大数据动向 大数据应用 数据可视化 数据分析 投资并购 企业专区 注册 登录 随机森林入门攻略(内含R、Python代码)
- 国庆中秋福利篇:视频资料免费大派送,总有你想要的那款
- 使用php生成二维码
- 如何生成一个好的appkey和appsecret
- php 删除符号,php – 从字符串中删除变音符号
- 论文阅读笔记《Quickly Inserting Pegs into Uncertain Holes using Multi-view Images and Deep Network Trained》