方德服务器操作系统docker部署IOT后端项目

  项目需要部署在方德高可信服务器V4.0操作系统中,在真正的实施前,下载了官方的操作系统试用版,本并安装在一台Intel芯片的机械革命笔记本中,本系列随笔为部署的详细记录,仅供参考。

  • 方德服务器操作系统docker部署IOT后端项目
  • 方德服务器操作系统docker部署IOT前端项目
  • 方德服务器操作系统docker部署jdk
  • 方德服务器操作系统docker部署MES项目
  • 方德服务器操作系统docker部署nginx
  • 方德服务器操作系统docker部署redis
  • 方德服务器操作系统docker部署Report后端项目
  • 方德服务器操作系统docker部署Report前端项目
  • 方德服务器操作系统docker部署tomcat
  • 方德服务器操作系统docker部署达梦数据库
  • 方德服务器操作系统docker部署自定义网络
  • 方德服务器操作系统安装docker
  • 方德服务器操作系统安装todesk
  • 方德服务器操作系统安装教程

 

  本文为《方德服务器操作系统docker部署IOT后端项目》

本文目录:

  前言

  准备文件

  服务器有外网

    基于JDK基础镜像的构建镜像

      文件拷贝

      创建Dockerfile

      构建Docker镜像

    基于构建的镜像挂载文件启动容器

      文件拷贝

      修改配置文件

      启动容器

      浏览器输入

      项目维护

  服务器无外网

    导出构建好的镜像

    导入构建好的镜像

    基于导入的构建镜像挂载文件启动容器

 

正文:

前言:

  DoDIOT项目为前后端分离架构,前端为web应用程序,基于Nginx部署,后端为java应用程序(jar包),基于jdk部署。本文件为java应用程序在linux操作系统docker部署手册,仅供参考。

环境:中科方德高可信服务器操作系统V4.0linux操作系统)

 

  本文件执行前需先执行的文件:《方德服务器操作系统docker部署自定义网络.docx》、《方德服务器操作系统docker部署jdk.docx》、《方德服务器操作系统docker部署redis.docx》、《方德服务器操作系统docker部署达梦数据库.docx

 

总体部署思路:

  服务器有外网情况下:联网下载jdk基础镜像,并构建镜像,挂载应用程序启动容器

  服务器无外网情况下:导出构建好的镜像,再导入镜像到无外网服务器,挂载应用程序启动容器

  注意:无论哪种情况均需要应用程序文件(jar包)及应用程序的配置文件

准备文件

  应用程序文件:DoDIoT.jar

  应用程序配置文件:config文件夹(包含config.propertieslicense.properties

  说明:

    DoDIoT.jar文件来自DoDIoT.zip压缩包(研发部给的windows部署压缩包)解压后的bin目录下的DoDIoT.jar

    config文件即DoDIoT.zip压缩包解压后的config目录,包含config.propertieslicense.properties

服务器有外网

  一、基于JDK基础镜像的构建镜像

  1.文件拷贝

    拷贝DoDIoT.jar文件到宿主机目录/12407/dodiot_buildfile目录下

  2.创建Dockerfile

    在与jar包相同的目录下创建一个名为 Dockerfile 的文件,并添加以下内容:

# 使用官方的 OpenJDK 基础镜像,即已执行《方德服务器操作系统docker内下载jdk镜像.docx》文件内容,下载了jdk基础镜像

FROM openjdk:8

# 设置工作目录

WORKDIR /app

# 将应用程序复制到容器内的指定位置

COPY DoDIoT.jar /app/DoDIoT.jar

# 暴露应用程序运行时监听的端口9001,因为后台应用程序配置文件(config.properties)里的端口号设置的9001

EXPOSE 9001

# 启动应用程序的命令(jar包文件名必须为DoDIoT,因为这里是这么要求的)

ENTRYPOINT ["java", "-jar", "/app/DoDIoT.jar"]

  3.构建Docker镜像

  在包含Dockerfilejar包的目录下打开终端,执行以下命令(注意命令中包含一个点)来构建Docker镜像,并命名构建的docker镜像的名称为dodiot

docker build -t dodiot .

使用以下命令查看构建的镜像

docker images

二、基于构建的镜像挂载文件启动容器

  文件拷贝

    拷贝DoDIoT.jar文件、config文件夹、logs文件夹到宿主机目录/12407/dodiot目录下

说明:

  1.DoDIoT.jar文件来自DoDIoT.zip压缩包(研发部给的windows部署压缩包)解压后的bin目录下的DoDIoT.jar

  2.config文件夹即DoDIoT.zip压缩包解压后的config目录,包含config.propertieslicense.properties

  3.logs文件夹即DoDIoT.zip压缩包解压后的logs目录

 

 

  修改配置文件

    修改/12407/dodiot/config目录下的config.properties文件

 

  启动容器

    执行以下命令启动容器

docker run -d --network network_hda --ip 192.168.1.13 -p 9001:9001 --name dodiot  -v /12407/dodiot/DoDIoT.jar:/app/DoDIoT.jar  -v /12407/dodiot/config:/app/config  -v /12407/dodiot/logs:/app/logs -v /etc/localtime:/etc/localtime:ro --restart always dodiot

    以上命令可以使用下面命令替换

docker run -d --network network_hda --ip 192.168.1.13 -p 9001:9001 --name dodiot -v /12407/dodiot:/app -v /etc/localtime:/etc/localtime:ro  --restart always dodiot

    使用以下命令查看容器是否启动成功

docker ps
docker logs dodiot

    启动容器时若未设置重启策略,可以通过执行以下命令来修改已存在的容器的重启策略,此命令会立即生效

docker update --restart always dodiot

  浏览器输入http://localhost:9528/

  项目维护

    直接替换或修改宿主机/12407/dodiot目录下的文件,修改之后重启容器即可

    项目启动成功后,点击网页上右上角的详情按钮,显示机器码,申请到授权文件后替换即可

 

服务器无外网

导出构建好的镜像

执行以下命令将构建好的镜像dodiot导出为tar文件,导出路径为宿主机/12407/exportfile文件夹下

 

docker save -o /12407/exportfile/dodiot.tar dodiot

 

-o:表示输出文件路径

dodiot:表示导出镜像的名称(设定了名称后在随后导入镜像时,导入后的镜像名仍为dodiot

 

如果镜像文件比较大,可以执行以下命令,在导出时压缩文件

docker save dodiot | gzip > /12407/exportfile/dodiot.tar.gz

 

导入构建好的镜像

将导出的镜像文件拷贝到目标服务器后,执行以下命令导入镜像

docker load -i /12407/exportfile/dodiot.tar

-i:表示被导入镜像的存放路径

注意:若dodiot.tar在导出时指定了镜像名称,导入时仍为原镜像名。(有方法可修改镜像名,详细操作上网查资料)

 

若导出时进行了压缩,导入时需要执行以下命令先解压缩再导入镜像

gunzip -c /12407/exportfile/dodiot.tar.gz | docker load

注意:若dodiot.tar.gz在导出时指定了镜像名称,导入时仍为原镜像名

 

命令解释:

gunzip 是一个用于解压缩 .gz 文件的工具。

-c 参数表示将解压缩后的内容输出到标准输出(stdout),而不是解压到文件。这意味着解压缩后的数据会通过管道传递给下一个命令,而不是写入磁盘上的某个位置。

| 管道符号

管道符号 | 将前一个命令的输出作为下一个命令的输入。在这里,它将 gunzip 解压缩后的 tar 文件内容传递给 docker load 命令。

docker load

docker load 命令用于从标准输入或指定的文件中读取 Docker 镜像,并将其加载到 Docker 的本地镜像存储中。当与管道结合使用时,docker load 会从标准输入读取 tar 归档格式的数据,并从中加载 Docker 镜像。

 

基于导入的构建镜像挂载文件启动容器

“基于构建的镜像挂载文件启动容器”

 

posted @ 2025-06-17 14:45  单纯的桃子  阅读(128)  评论(0)    收藏  举报