方德服务器操作系统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后端项目》
本文目录:
基于构建的镜像挂载文件启动容器
文件拷贝
修改配置文件
启动容器
浏览器输入
项目维护
服务器无外网
导出构建好的镜像
导入构建好的镜像
基于导入的构建镜像挂载文件启动容器
正文:
DoDIOT项目为前后端分离架构,前端为web应用程序,基于Nginx部署,后端为java应用程序(jar包),基于jdk部署。本文件为java应用程序在linux操作系统docker部署手册,仅供参考。
环境:中科方德高可信服务器操作系统V4.0(linux操作系统)
本文件执行前需先执行的文件:《方德服务器操作系统docker部署自定义网络.docx》、《方德服务器操作系统docker部署jdk.docx》、《方德服务器操作系统docker部署redis.docx》、《方德服务器操作系统docker部署达梦数据库.docx》
总体部署思路:
服务器有外网情况下:联网下载jdk基础镜像,并构建镜像,挂载应用程序启动容器
服务器无外网情况下:导出构建好的镜像,再导入镜像到无外网服务器,挂载应用程序启动容器
注意:无论哪种情况均需要应用程序文件(jar包)及应用程序的配置文件
准备文件
应用程序文件:DoDIoT.jar
应用程序配置文件:config文件夹(包含config.properties和license.properties)
说明:
DoDIoT.jar文件来自DoDIoT.zip压缩包(研发部给的windows部署压缩包)解压后的bin目录下的DoDIoT.jar
config文件即DoDIoT.zip压缩包解压后的config目录,包含config.properties和license.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镜像
在包含Dockerfile和jar包的目录下打开终端,执行以下命令(注意命令中包含一个点)来构建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.properties和license.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 镜像。
基于导入的构建镜像挂载文件启动容器
同“基于构建的镜像挂载文件启动容器”

浙公网安备 33010602011771号