• 将jar包、vue项目打成docker镜像并推送到Harbor本地仓库


    Centos7下harbor的安装部署

    先制作自己的docker镜像,使用commit方式也可以制作镜像,我这里采用
    通过编写Dockerfile命令脚本进行生成镜像。

    利用Dockerfile制作自己的Docker镜像

    1.jar包打包成docker镜像并推送

    将jar包和Dockerfile放在服务器同级目录下

    在这里插入图片描述
    dockerfile:

    # 基础镜像
    FROM  openjdk:8-jre
    # author
    MAINTAINER lgn
    
    # 挂载目录 运行容器时可以从本地主机或其他容器挂载数据卷,一般用来存放数据库和需要保持的数据等volume.用以在用户忘记启动时指定-v参数也可以保证容器的正常运行如使用了-v 已-v为准
    VOLUME /home/dockerflie
    # 创建目录
    RUN mkdir -p /home/dockerflie
    # 指定路径
    WORKDIR /home/dockerflie
    # 复制jar文件到路径 COPY将主机的文件复制到镜像内
    COPY spring-swagger-0.0.1-SNAPSHOT.jar /home/dockerflie/spring-swagger-0.0.1-SNAPSHOT.jar
    # 启动系统服务
    ENTRYPOINT ["java","-jar","spring-swagger-0.0.1-SNAPSHOT.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    将项目打包成镜像(在jar包目录下)

    docker build -f Dockerfile -t swagger:1.0.1 .
    
    • 1

    在这里插入图片描述
    查看一下镜像:
    在这里插入图片描述

    登录到私服

    docker login -u admin -p Harbor12345 http://120.48.54.67:8282/
    
    • 1

    如果报错:

    Error response from daemon: Get "https://120.48.54.67:8282/v2/": http: server gave HTTP response to HTTPS client
    
    • 1

    Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。
    修改 /usr/lib/systemd/system/docker.service 中的 ExecStart 选项,加入 --insecure-registry {docker 私有镜像库 IP} --ipv6=false,,加入–insecure-registry 与 --ipv6 属性。形如:

    --insecure-registry 120.48.54.67:8282 --ipv6=false
    
    • 1

    修改好后重启docker 服务

    systemctl daemon-reload 
    
    systemctl restart docker
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    用tag命令使镜像规范化(登录harbor平台中找到规范)

    在这里插入图片描述

    docker tag swagger:1.0.1 120.48.54.67:8282/k8spro/swagger:1.0.1
    
    • 1

    推送镜像

    去harbor平台里面看一下推送的语法
    在这里插入图片描述
    docker push 120.48.54.67:8282/k8spro/REPOSITORY[:TAG]

    docker push 120.48.54.67:8282/k8spro/swagger:1.0.1
    
    • 1

    在这里插入图片描述

    去harbor控制台看看:

    在这里插入图片描述

    vue也是同理

    在这里插入图片描述
    dockerfile:

    # 基础镜像
    FROM nginx
    # author
    MAINTAINER ruoyi
    
    # 挂载目录
    VOLUME /home/ruoyi/projects/ruoyi-ui
    # 创建目录
    RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
    # 指定路径
    WORKDIR /home/ruoyi/projects/ruoyi-ui
    # 复制conf文件到路径
    COPY ./conf/nginx.conf /etc/nginx/nginx.conf
    # 复制html文件到路径
    COPY ./html/dist /home/ruoyi/projects/ruoyi-ui
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    docker build -f dockerfile -t vue:1.0.1 .
    
    docker tag vue:1.0.1 120.48.54.67:8282/k8spro/vue:1.0.1
    
    docker push 120.48.54.67:8282/k8spro/vue:1.0.1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

  • 相关阅读:
    Hadoop-Yarn-NodeManager是如何启动容器的
    String类、String类常见的构造方法、String类的方法介绍、判断功能的方法、转换功能方法、其他方法、Object类
    【计算机毕业设计】基于SpringBoot+Vue电影在线订票系统的开发与实现
    A-level成绩BBB能申英国哪些大学?
    一种信息系统免疫安全防护架构
    【编程之路】面试必刷TOP101:堆、栈、队列(42-49,Python实现)
    第63篇:美国NSA量子注入攻击的流量特征及检测方法
    Spring中的常用注解(一)
    有没有免费将XPS转Word的方法?
    从JDK8升级到JDK17
  • 原文地址:https://blog.csdn.net/u010797364/article/details/125941204