IOT边缘 IOTEDGE-制作镜像包或插件包:镜像包打包

时间:2024-10-22 10:31:36

镜像包打包

  1. 上传打包的项目。

    将jar文件上传到联网的linux机器上,如目录(/home/monitor)中

  2. 安装docker。

    请确认你使用的系统已经安装docker(docker版本需要高于17.06,推荐18.06),安装参照docker 安装教程

  3. 制作镜像。

    1. 搜索基础镜像,基础镜像需要集成jre。

      docker search jre8

    2. 选择合适的镜像(镜像需要集成了jre且版本不低于8)
      NAME                 DESCRIPTION   STARS     OFFICIAL   AUTOMATED
      livingobjects/jre8   Jre8 image    4         [OK]

      livingobjects/jre8镜像是docker hub第三方提供的镜像,非IoT团队发布,且IoT团队未提供任何官方镜像。该镜像在此仅做示例,IoT团队对该镜像的安全性不作保证。强烈建议用户自己封装镜像!

    3. 拉取镜像

      docker pull livingobjects/jre8

    4. 编写dockerfile制作镜像
      dockerfile内容参照如下(具体可参考编写高效的Dockerfile
      #Version 1.0.0
      FROM livingobjects/jre8  #基础镜像来源
      RUN mkdir -p /opt/iot/edge/monitor / && chmod -R 777 /opt/ #授权
      COPY monitor /opt/iot/edge/monitor   #复制文件到指定目录,此dockerfile文件位置:/home,jar包位置:/home/monitor
      USER root     #用户名
      EXPOSE 8080
      CMD ["java", "-jar", "/opt/iot/edge/monitor/monitor-app.jar", "run"] #运行命令
    5. 构建镜像

      docker build -t edge_monitor:1.0.0 /home --no-cache

    6. 查看打包完成的镜像
      docker images
      REPOSITORY      TAG      IMAGE ID       CREATED          SIZE
      edge_monitor    1.0.0    93f9d964bcea   12 seconds ago   243MB

  4. 镜像上传。

    1. 上传镜像

      开通 容器镜像服务 SWR

      镜像上传需要使用SWR镜像容器服务,开通及使用请参照容器 镜像服务 SWR_用户指南

    2. 获取SWR登录指令

      请参照使用容器引擎客户端上传镜像第四节。

    3. tag镜像

      使用tag命令将镜像重命名以确定上传位置和组织,获取上传位置和组织前缀请参考pull/push命令

      docker tag edge_monitor:1.0.0 swr.cn-north-4.myhuaweicloud.com/hw_swr/edge_monitor:1.0.0

    4. 上传镜像

      docker push swr.cn-north-4.myhuaweicloud.com/hw_swr/edge_monitor:1.0.0

    5. 查看上传结果

    6. 上传镜像后请在SWR将镜像设置为公开。

support.huaweicloud.com/devg-iotedge/iotedge_devg_0022.html