• 将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

    在这里插入图片描述

  • 相关阅读:
    推荐系统之BRP
    获取网卡上的IP、网关及DNS信息,获取最佳路由,遍历路由表中的条目(附源码)
    AsyncLocal<T>在链路追踪中的应用
    UE构建基础和实践:一、概述
    万字总结 MySQL核心知识,赠送25连环炮
    Linux 更新
    Jetpack Compose--声明式UI替代传统命令式UI的新产品
    HTML常见标签和作用
    【LinuxShell】linux防火墙之SNAT策略和DNAT策略
    java毕业生设计医药网络挂号系统计算机源码+系统+mysql+调试部署+lw
  • 原文地址:https://blog.csdn.net/u010797364/article/details/125941204