Harbor仓库搭建及使用


目录

  • 一、docker配置
  • 二、安装docker-compose
  • 三、安装harbor
  • 四、管理harbor
  • 五、springboot项目配置docker
  • 六、linux服务器上打包并推送至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

【Harbor仓库搭建及使用】5、也可以将docker镜像仓库添加到/etc/docker/daemon.json文件中
  • ustc:https://docker.mirrors.ustc.edu.cn
  • 阿里云:https://navyf335.mirror.aliyuncs.com
vim /etc/docker/daemon.json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }

二、安装docker-compose
1、下载docker-compose文件
官网地址:https://get.daocloud.io/
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部分
Harbor仓库搭建及使用
文章图片

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
Harbor仓库搭建及使用
文章图片

7、修改端口
  • 如果需要修改端口请按以下操作
vim harbor.yml # 修改端口 http: port: 1181vim /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版本 FROMjava: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里配置帐号密码
192.168.3.12:1180 library v1.0.1 1.4.10 org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-resources-plugin 3.1.0 com.spotify dockerfile-maven-plugin ${docker.maven.plugin.version} ${project.basedir}true ${docker.repostory}/${docker.registry.name}/${project.artifactId} ${docker.image.tag} target/${project.build.finalName}.jar

maven配置
192.168.3.12:1180 adminHarbor12345

方式二:直接在pom文件里配置帐号密码
com.spotify dockerfile-maven-plugin ${docker.maven.plugin.version} ${docker.repostory}/${docker.registry.name}/${project.artifactId} ${docker.image.tag} adminHarbor12345 target/${project.build.finalName}.jar

六、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上查看
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

    推荐阅读