Harbor仓库搭建及使用
一、docker配置
- 如果docker版本比较老,无法安装Harbor请卸载掉重装
1、卸载之前的docker包
yum list installed|grep docker
# 移除docker相关
yum remove docker-ce.x86_64
2、安装docker
# 安装yum管理工具
yum install -y yum-utils
# 添加阿里云镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum install docker-ce docker-ce-cli
3、设置开机自启docker并启动docker
# 启动docker
systemctl start docker
# 设置开机启动
systemctl enable docker
4、查看docker版本
docker version
5、也可以将docker镜像仓库添加到/etc/docker/daemon.json文件中
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
二、安装docker-compose
1、下载docker-compose文件
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.0.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、为docker-compose文件赋予可执行权限
chmod +x /usr/local/bin/docker-compose
3、查看docker-compose版本
docker-compose version
三、安装harbor
1、下载地址
- 官网地址:https://github.com/goharbor/harbor/releases
- 版本:harbor-offline-installer-v2.2.2.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-offline-installer-v2.2.2.tgz
2、解压文件
tar -zxvf harbor-offline-installer-v2.2.2.tgz
# 复制配置文件
cp harbor.yml.tmpl harbor.yml
3、修改harbor.yml配置
cd harbor
vim harbor.yml
# 修改如下配置
hostname: 192.168.3.12
http:
  port: 1180
harbor_admin_password: Harbor12345
- hostname 这里设置本机的ip
- harbor_admin_password 页面的密码
- 注释掉https部分

4、修改daemon.json文件
- 解决docker login 时,提示https问题
- 添加insecure-registries
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries":["192.168.3.12:1180"]
}
5、运行/安装
# 创建日志目录,没有该目录无法创建,不知为何
mkdir /var/log/harbor
./install.sh
6、访问页面
http://192.168.3.12:1180
- 帐号admin,密码Harbor12345

7、修改端口
- 如果需要修改端口请按以下操作
vim harbor.yml
# 修改端口
http:
  port: 1181
vim /etc/docker/daemon.json
"insecure-registries":["192.168.3.12:1181"]
# 停止服务
docker-compose down
# 重新编译
./prepare
# 重新启动
docker-compose up -d
# 重启docker服务
systemctl daemon-reload
systemctl restart docker
8、其它操作
# 停止
docker-compose stop
# 运行
docker-compose start
# 登录
docker login -uadmin -pHarbor12345 192.168.3.12:1180
四、管理harbor
# linux登录docker
docker login -uadmin -pHarbor12345 192.168.3.12:1180
# 拉取alpine镜像
docker pull alpine
# 给镜像打标签,注意打标签的格式为 镜像仓库名称/项目名/镜像名:版本号
docker tag docker.io/alpine:latest 192.168.3.12:1180/library/alpine:v1.1.2
# 将镜像推送至harbor
docker push 192.168.3.12:1180/library/alpine:v1.1.2
五、springboot项目配置docker
1.创建Dockerfile文件
- 在项目目录下创建该文件
# jdk版本
FROM  java:8
# 临时文件目录
VOLUME /tmp
# 把target目录下的jar包添加到容器里,并重命名为app.jar
ADD target/*.jar app.jar
# ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 "/dev/urandom" 作为 Entropy Source.
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
2.修改pom.xml文件
方式一:使用maven里配置帐号密码
<properties>
    <docker.repostory>192.168.3.12:1180</docker.repostory>
    <docker.registry.name>library</docker.registry.name>
    <docker.image.tag>v1.0.1</docker.image.tag>
    <docker.maven.plugin.version>1.4.10</docker.maven.plugin.version>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.1.0</version>
        </plugin>
        <!-- Dockerfile maven plugin -->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>${docker.maven.plugin.version}</version>
            <configuration>
                <contextDirectory>${project.basedir}</contextDirectory>
                <!-- harbor 仓库用户名及密码-->
                <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
                <repository>${docker.repostory}/${docker.registry.name}/${project.artifactId}</repository>
                <tag>${docker.image.tag}</tag>
                <buildArgs>
                    <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                </buildArgs>
            </configuration>
        </plugin>
    </plugins>
</build>
maven配置
<!--harbor-->
<server>
  <id>192.168.3.12:1180</id>
  <username>admin</username>
  <password>Harbor12345</password>
</server>
方式二:直接在pom文件里配置帐号密码
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>${docker.maven.plugin.version}</version>
    <configuration>
        <repository>${docker.repostory}/${docker.registry.name}/${project.artifactId}</repository>
        <tag>${docker.image.tag}</tag>
        <username>admin</username>
        <password>Harbor12345</password>
        <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
        </buildArgs>
    </configuration>
</plugin>
六、linux服务器上打包并推送至harbor
1、将springboot项目源码复制到服务器
2、maven打包
- 进入项目目录
mvn -U clean install -Dmaven.test.skip=true
3、打包成docker镜
mvn dockerfile:build
4、将docker镜像推送到Harbor仓库
mvn dockerfile:push
5、其它操作
# 查看镜像
docker images
# 启动镜像
docker run -d --name rapid-web2 -p 8081:8089 192.168.3.12:1180/library/rapid-screen:v1.0.1
6、harbor上查看

七、参考
- https://www.cnblogs.com/binghe001/p/12810675.html
- https://www.cnblogs.com/yal950727/p/10909221.html
- https问题:https://www.cnblogs.com/shunzi115/p/14970130.html
- docker升级:https://www.jianshu.com/p/11d4c7f25bb8
Harbor仓库搭建及使用的更多相关文章
- harbor 仓库搭建
		一,介绍 Harbor是一个用于存储Docker镜像的企业级Registry服务. Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry ... 
- harbor仓库搭建
		harbor安装要求 harbor快速部署 下载harbor:https://github.com/goharbor/harbor/releases 这边以harbor-1.8.2为例 [root@g ... 
- Jenkins+Harbor+Docker发布
		使用Jenkins发布Docke 需要准备的,docker,jenkins,Harbor docker安装 安装依赖: # yum install -y yum-utils device-mapper ... 
- 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库
		目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ... 
- Harbor 企业级镜像仓库搭建
		Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的 企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角 ... 
- Harbor私有仓库搭建
		1.安装docker yum install -y dockersystemctl start dockersystemctl enable docker 2.安装docker-compose 1.下 ... 
- Harbor介绍与企业级私有Docker镜像仓库搭建
		Harbor介绍与安装部署,并实现通过http和https协议[自签发SSL证书]访问,客户端如何通过Harbor镜像仓库实现镜像的上传[推送]与下载[拉取]. Harbor介绍 Harbor,是一个 ... 
- Harbor 镜像仓库搭建
		安装 Docker # 下载 Docker 二进制包 [root@k8s-master01 ~]# wget https://download.docker.com/linux/static/stab ... 
- Harbor企业级私服Docker镜像仓库搭建及应用
		一.简介 Docker Hub作为Docker默认官方公共镜像,如果想要自己搭建私有镜像,Harbor是企业级镜像库非常好的选择. 所谓私有仓库,也就是在本地(局域网)搭建的一个类似公共仓库的东西,搭 ... 
随机推荐
- Android命令行启动模拟器
			我们在平时的开发中会经常需要使用模拟器进行调试,这个时候我们就要先打开Android Studio来启动模拟器,然后再运行App.这个流程中启动Android Studio需要花费一些时间,而模拟器的 ... 
- django 如何在HMTL中使用媒体media_url
			django 如何在HMTL中使用媒体media_url中指定的路径 第一种: 一. setting.py里,一般图片或者文件上传路径都是是以下设置, MEDIA_URL = '/media/' ... 
- 华为云计算IE面试笔记-Fusionsphere架构及组件介绍(服务器虚拟化解决方案)
			eDSK 最上层则是eDSK是我们FusionSphere服务器虚拟化解决方案中的虚拟化北向统一API接口,其他的第三方系统或者是其他运营平台(FC.VMware等)可以通过eDSK轻松完成无缝对 ... 
- 2020牛客NOIP赛前集训营-提高组(第三场)C-牛半仙的妹子Tree【虚树,最短路】
			正题 题目链接:https://ac.nowcoder.com/acm/contest/7609/C 题目大意 给出\(n\)个点的一棵树,\(m\)个时刻各有一个操作 标记一个点,每个点被标记后的每 ... 
- NOI.AC#2007-light【根号分治】
			正题 题目链接:http://noi.ac/problem/2007 题目大意 \(n\)个格子排成一排,每个格子有一个\(0/1\)和一个颜色.开始每个格子都是\(0\),\(q\)次操作取反一个颜 ... 
- PLSQL安装,PLSQL汉化,激活
			一)准备工作 1.点击下载PLSQL:https://www.allroundautomations.com/registered-plsqldev/.本次安装的是12.0.7,安装版本为64位 2. ... 
- 从单体迈向 Serverless 的避坑指南
			作者 | 不瞋 导读:用户需求和云的发展两条线推动了云原生技术的兴起.发展和大规模应用.本文将主要讨论什么是云原生应用,构成云原生应用的要素是什么,什么是 Serverless 计算,以及 Serve ... 
- CentOS7部署Prometheus
			部署Prometheus监控报警系统 一.Prometheus介绍 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB):Prometheus使用Go语言开发, ... 
- FastAPI 学习之路(二十)接口文档配置相关
			系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ... 
- Hive架构及搭建方式
			目录 前言 hive的基础知识 基本架构 metastore 内嵌服务和数据库 内嵌服务 服务和数据库单独部署 hcatalog 客户端 客户端的本地模式 beeline beeline的自动模式 j ... 
