前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker技术:Harbor私服搭建和使用

Docker技术:Harbor私服搭建和使用

作者头像
小炜同学
发布2022-09-23 10:47:15
1.1K0
发布2022-09-23 10:47:15
举报
文章被收录于专栏:Java领域客栈

前言

公司技术体系逐步基于DDD领域驱动设计结合DevOps,最终在技术实现中转向于微服务+k8s的体系。

再此,就记录一下操作过程,分享给道友,避免浪费时间。

Harbor

harbor git 地址

优点:

  • 本身自代 docker 私有仓库
  • 支持基于角色的权限管理
  • 支持LDAP认证:Harbor的用户授权可以使用已经存在的用户。
  • 图形化用户界面
  • 审计管理:所有这怒地镜像仓库的错都可以被记录追溯,用于审计管理
  • 镜像删除和垃圾回收:image可以被删除并且回收image占用的空间。
  • 简单的部署功能:harbor提供了online、offline安装,此外还提供了virtualappliance安装
  • ......

说白了,就是好,等等好像是公司要用因此不能不会~

安装

1、前置条件

(1)需要安装docker

代码语言:javascript
复制
#安装一些必要的系统工具
yum -y install yum-utils device-mapper-persistent-data lvm2

#添加docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装docker-ce
yum -y list docker-ce.x86_64 --showduplicates | grep stable | sort -r
yum -y install docker-ce-18.03.1.ce-1.el7.centos

#开启docker服务
systemctl start docker

#查看docker版本
docker version

(2)需要安装docker-compose

代码语言:javascript
复制
yum install docker-compose

2、下载安装包

直接选择编译好的包

harbor-offline-installer-v2.4.2.tgz

harbor-offline-installer-v2.5.0-rc4.tgz

GitHub下载太慢?有教程~点击

这里有两个包Harbor offline installerHarbor online installer,两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件。

下载成功,并解压

代码语言:javascript
复制
tar -zxvf harbor-offline-installer-v2.5.0-rc4.tgz

进入解压的目录,并 ll

harbor.v2.5.0.tar.gz 里就是 Harbor 用到的镜像

3、编辑yml文件

(1)解压完成后在当前目录生成harbor目录,复制和修改harbor目录下的harbor.yml

代码语言:javascript
复制
cp harbor.yml.tmpl harbor.yml

(2)注释掉htps的配置内容,配置htp相关的参数,主要是hostnameport,其他都可以不用动。

代码语言:javascript
复制
\# vim harbor.yml
hostname: 192.168.239.11

\# htp related config
htp:
\# port for htp, default is 80. If htps enabled, this port will redirect to htps port
    port: 80

温馨提示:https需注掉,否则会在启动时失败

4、运行

修改完配置文件后,运行 ./prepare,它会哪所配置文件修改一文件

运行 ./install.sh

5、启动

安装完成后在本地生成docker-compose.yml文件,此时可以启动harbor服务;

代码语言:javascript
复制
docker-compose up -d

温馨提示:密码配置文件有,默认Harbor12345

6、登录

初始的默认用户是admin,密码是Harbor12345,登录成功:

镜像上传与拉取

1、准备

(1)万物皆hello-world,准备hello-world镜像

代码语言:javascript
复制
docker pull hello-world

(2)新增项目

2、登录

代码语言:javascript
复制
docker login 192.168.239.11:80
user:admin
password:
Login Succeeded

3、标记

在项目中标记需要上传的镜像

代码语言:javascript
复制
docker tag hello-world 192.168.239.11:80/test1/hello-world:1.0

温馨提示:端口被忘带了,这不是浏览器!!!

4、推送

将标记好的镜像,推送镜像到当前项目

代码语言:javascript
复制
docker push 192.168.239.11:80/test1/hello-world:1.0

5、拉取

代码语言:javascript
复制
docker pull 192.168.239.11:80/test1/hello-world:1.0

温馨提示:拉取之前记得login

其他常见问题

当进行login时,会出现如下报错:

此时,需要将私服的htp地址配置到docker的不安全register中

代码语言:javascript
复制
\# vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.239.11:80"]
}

温馨提示:端口别忘带了,这不是浏览器!!!

重启docker服务后可以正常login进docker私服 重启docker服务后可以正常login进docker私服 重启docker服务后可以正常login进docker私服

代码语言:javascript
复制
systemctl daemon-reload && systemctl restart docker
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年04月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Harbor
  • 安装
  • 镜像上传与拉取
  • 其他常见问题
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档