纸上得来终觉浅,实操一遍吧!


把所有开发的后端服务先在打成镜像,传到私有镜像仓库;


然后在任意的远程机器拉取镜像,然后可采用docker或者docker-compose的方式运行,本节先按照docker的方式运行;


后面补充docker-compose和k8s的方式运行镜像;

问题 回答
where are we?现状 简单的听说过harbor并未实操,不知道里面的坑
where are we go? 目标 实际使用harbor,把完整的产品镜像(前后端中间件)上传到镜像仓库,得到软件制品;
how can we go there?路径 先安装harbor
然后推送程序镜像到harbor
最后在任意机器上拉取镜像运行;

安装docker和docker-compose

当前的docker版本不够高,需要升级;


先删除docker;

rpm -qa | grep docker

//删除查询到的所有跟docker相关的东西;

yum reomove xxx

安装指定版本:

yum install docker-ce-18.06.3.ce-3.el7 -y

# 启动docker
systemctl start docker
# 设置为开启启动
systemctl enable docker

安装docker-compose
```shell
yum install docker-compose
```

解压安装包之后得到的文件目录如下:

复制配置文件模板,并修改host和端口;

cp harbor.yml.tmpl harbor.yml
vim harbor.yml
# 配置host和端口; # 注释掉htts端口的配置;

执行安装:

sh install.sh

安装完毕之后成功截图:

登录Harbor管理后台

入口:[http://47.115.100.100:8000/](http://47.115.100.100:8000/)




账号:admin




密码:Harbor12345

推送镜像到harbor

制作镜像的Dockerfile

FROM java:8
MAINTAINER lifuchun <lifc@authine.com>
VOLUME /tmp
ADD config config
ADD app-file.jar app.jar
ADD skywalking-agent.jar skywalking-agent.jar
ADD application.properties application.properties
EXPOSE 8881
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.cloud.nacos.discovery.server-addr=47.113.126.86:8848","-Dspring.cloud.nacos.discovery.namespace=test","-javaagent:/skywalking-agent.jar","-Dskywalking.agent.service_name=app-file","-Dcollector.backend_service=47.115.100.100:11800","-Dspring.application.name=app-file","-jar","/app.jar"]

制作镜像指令:

  echo '构建app-file镜像并启动'
docker build -t app-file .
echo '运行app-file'
docker run --name app-file -v /data/var/log:/data/var/log -m 1024M -d -p 8881:8080 app-file

得到镜像之后,需要推送镜像到harbor仓库;


如果推送到harbor仓库提示https错误;

 docker push  47.115.100.100:8000/cloudpivot/app-file:latest
The push refers to repository [47.115.100.100:8000/cloudpivot/app-file]
Get https://47.115.100.100:8000/v2/: http: server gave HTTP response to HTTPS client

需要设置本地的docker接受不安全的注册中心:








然后重启docker;




登录仓库:

docker login 47.115.100.100:8000
# 输入账号,密码

本地镜像打tag:

docker tag app-file 47.115.100.100:8000/cloudpivot/app-file:latest

推送镜像:

docker push  47.115.100.100:8000/cloudpivot/app-file:latest

推送进度:

界面观察镜像:

从harbor拉取镜像运行

需要编辑docker的配置文件:

vim /etc/docker/daemon.json

# 插入配置信息

配置信息如下:

{"insecure-registries":["ip:port"]}

然后重启docker:

systemctl restart docker

拉取镜像:
```shell
docker pull 47.115.100.100:8000/cloudpivot/app-file:latest
```

进度如下:

运行镜像:

docker run --name app-file -v /data/var/log:/data/var/log -m 1024M -d  -p 8881:8080 app-file

然后查看日志:

docker logs -f app-file

或者直接在挂载的日志目录中查看日志:

tail -f /data/var/log/app-file.log

小结

一句话概括本文做的事情: 先安装docker和docker-compose,然后安装完harbor,找了一个后端服务本地上传镜像,远程服务器直接使用镜像使用docker的方式运行起来了。

原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。

harbor安装实操笔记的更多相关文章

  1. 【实操笔记】MySQL主从同步功能实现

    写在前边: 这两天来了个需求,配置部署两台服务器的MySQL数据同步,折腾了两天查了很多相关资料,一直连不上,后来发现其实是数据库授权的ip有问题,我们用的服务器是机房中的虚拟机加上反向代理出来的,坑 ...

  2. Hadoop1.2.1 全然分布式集群搭建实操笔记

    前期准备工作: 1.改动Linux主机名:/etc/hostname                         ubuntu系统:vi /etc/hostname                 ...

  3. n-map安装实操

    强烈建议大家从官网下载nmap,而不是其他的第三方.官网地址:https://nmap.org/download.html 打开是这样的,感觉有点阴森森的色调.BTW,谁能逃得过真香定律呢. wind ...

  4. lightweight openpose 入门实操笔记(pytorch环境)

    最近有个小项目要搞姿态识别,简单调研了一下2D的识别: 基本上是下面几种 (单人)single person 直接关键点回归 heatmap,感觉其实就是把一个点的标签弄成一个高斯分布 (多人)mul ...

  5. mysql数据库实操笔记20170418

    一.建立商品分类表和价格表: 1.分类表`sankeq``sankeq`CREATE TABLE cs_mysql11(id INT(11) NOT NULL AUTO_INCREMENT,categ ...

  6. mysql数据库实操笔记20170419

    一.insert与replace区别: insert:当表里有字段设置了主键或者唯一时,插入重复的唯一或主键字段值是不能执行的: replase:当表里有字段设置了主键或者唯一时,插入重复的唯一或主键 ...

  7. 实操笔记:为 NSQ 配置监控服务的心路历程

    在 Go 语言实现的实时消息队列中, NSQ 的热度可以排第一. NSQ 这款消息中间件简单易用,其设计目标是为在分布式环境下运行,为去中心化服务提供一个强大的基础架构.它具有分布式.去中心化的拓扑结 ...

  8. 生产环境搭建高可用Harbor(包括恢复演练实操)

    生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...

  9. 大数据学习笔记——Linux完整部署篇(实操部分)

    Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...

随机推荐

  1. Pycharm永久激活方法

    1.下载新版破解补丁 链接 https://pan.baidu.com/s/137-afPKYfkXbvroSv1hoYw 提取码: cm43  下载补丁文件jetbrains-agent.jar并将 ...

  2. ModelViewSet里的过滤、排序、分页、序列化设置

    1.DRF初始化 1.认证 2.权限 3.限流 4.序列化 5.分页 6.版本  7.过滤 8.排序 1.1安装DjangoRestFramework pip install djangoresfra ...

  3. IDM 汉化版v1.1.10 (NDM汉化版)

    提升你的下载速度最多达 5 倍,安排下载时程,或续传一半的软件.Internet Download Manager 的续传功能可以恢复因为断线.网络问题.计算机当机甚至无预警的停电导致下传到一半的软件 ...

  4. ActionResult的返回类型

    ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的是非ActionResult类型,控制器将会将结果转换为 ...

  5. webpack项目如何正确打包引入的自定义字体

    webpack项目如何正确打包引入的自定义字体 一. 如何在Vue或React项目中使用自定义字体 在开发前端项目时,经常会遇到UI同事希望在项目中使用一个炫酷字体的需求.那么怎么在项目中使用自定义字 ...

  6. 团队作业4-Day4

    团队作业4-Day4 项目git地址 1. 站立式会议 2. 项目燃尽图 3. 适当的项目截图 4. 代码/文档签入记录(部分) 5. 每人每日总结 吴梓华:完成了排位模式与练习模式的界面实现,整合代 ...

  7. 第 7 篇 Scrum 冲刺博客

    每天举行会议 会议照片: 昨天已完成的工作与今天计划完成的工作及工作中遇到的困难: 成员姓名 昨天完成工作 今天计划完成的工作 工作中遇到的困难 蔡双浩 补充注释,初步查找bug 修改bug 无 陈创 ...

  8. python+eclipse 引用 import requests报错解决。

    用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install requests命令执行安装下 再重启eclipse就好了. 用pip install ...

  9. 题解-NOI2016 优秀的拆分

    NOI2016 优秀的拆分 \(T\) 组测试数据.求字符串 \(s\) 的所有子串拆成 \(AABB\) 形式的方案总和. 数据范围:\(1\le T\le 10\),\(1\le n\le 3\c ...

  10. Springboot — 用更优雅的方式发HTTP请求:RestTemplate

    RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率. 我之前的HTTP开发是用ap ...