13327806566

新闻资讯

开放、合作、共赢是我们企业经营之本,我们致力于应用BIM+IBMS+IOT技术打造数字建筑的运维系统,我们关注智能建筑系统集成行业动态,积极推动建筑信息模型BIM、物联网IOT、大数据等先进技术在数字建筑行业内的应用,我们可以为BIM数字建筑提供设备连接服务,也可以为IBMS系统提供BIM建模服务,欢迎同行技术交流、OEM软件、合作开发。

全部新闻 公司资讯 行业资讯

利用Harbor搭建古河IBMS的私有镜像仓库

  古河IBMS智能化集成系统采用Java Spring cloud微服务架构,实现微服务的快速动态服务发现、服务配置、服务元数据及流量管理。古河IBMS共有13个微服务组成,微服务采用Docker容器部署,为了方便于软件的部署,公司利用提供Harbor搭建了Docker私有镜像仓库,统一管理所有镜像,实现一键部署。

  Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

  1. Harbor简介

  Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署企业内部的私有环境Registry是非常必要的,Harbor和docker中央仓库的关系,就类似于nexus和Maven中央仓库的关系,Harbor除了存储和分发镜像外还具有用户管理,项目管理,配置管理和日志查询,高可用部署等主要功能。

  1. Harbor搭建

  在本地搭建一个Harbor服务,其他在同一局域网的机器可以使用Harbor进行镜像提交和拉取,搭建前需要本地安装docker服务和docker-composedocker-compose可以直接使用pip安装。

pip install docker-compose

下载Harbor离线安装包harbor-offline-installer-v2.1.0.tgz,在github官网或者其他资源链接下载,下载后解压。

tar -zxvf harbor-offline-installer-v2.1.0.tgz

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

cp harbor.yml.tmpl harbor.yml

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

# vim harbor.yml
hostname: 10.3.10.55

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

进行本地安装:

bash prepare
bash install.sh

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

docker-compose up -d

打开在harbor.yml中配置的host和port,可以登录管理页面。

 

3.Harbor上传和拉取镜像

上传镜像需要在docker主机进行操作,对于私有项目必须登录Harbor私服才能进行pull和push操作,push到Harbor的镜像的命名必须按照如下规则。

{Harbor地址}:{端口}/{Harbor项目名}/{自定义镜像名}:{自定义tag}

由于harbor采用的是http服务,而docker仓库默认采用https,如果对私服采用docker login、pull、push等命令操作非htps的docker regsitry的时就会报错,所以需要在docker的配置文件中将harbor私服地址配置到insecure-registry作为不安全的地址运行访问。

# touch /etc/docker/daemon.json { : ["192.168.1.28:80"] }

重启docker,查看docker info是否配置私服地址成功;

# docker info Insecure Registries: 192.168.1.28:80 # 已经配置成功 127.0.0.0/8

下一步测试登录私服,登录成功;

root@ubuntu:~# docker login 192.168.1.28:80 -u xiaogp Password: WARNING! Your password will be stored unencrypted in /home/xiaogp/.docker/config.json. Configure a credential helper to remove this warning. See docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

下一步将docker本机的镜像上传push到harbor,先使用docker tag创建一个新的镜像并且重命名为harbor指定的ip:host/项目名格式,然后直接push。

root@ubuntu:~# docker tag xiaogp/my_image_test:v1 192.168.1.28:80/test_public/my_image_test:v1

 

root@ubuntu:~# docker push 192.168.1.28:80/test_public/my_image_test:v1
The push refers to repository [192.168.1.28:80/test_public/my_image_test]
bc6c5868a244: Pushed
52cec1fdc1f3: Pushed
6b24a3d04a66: Pushed
d5f992479e0c: Pushed
5adaa6cddd5f: Pushed
9f5b4cdea532: Pushed
cd702377e4e5: Pushed
aa7af8a465c6: Pushed
ef9a7b8862f4: Pushed
a1f2f42922b1: Pushed
4762552ad7d8: Pushed
v1: digest: sha256:567000120e42943f598efe5084006ffa5f307f4ffbd8871003602351876aba1b size: 2640

在harbot web客户端查看镜像。

南京古河软件有限公司版权所有.  Copyright©2006-2017 Guhe Software All Rights Reserved.      苏ICP备08012350号




咨询专线
特别声明
       官网直销是的公司唯一业务通道,本公司没有授权任何代理商。
微信咨询(推荐)
       申请报价请提供:
       公司名称,联系人,项目名称,建筑面积,技术要求
电话咨询
咨询专线:13327806566
邮       箱:350776818@qq.com