首页 > 其他分享 >docker启动后端服务

docker启动后端服务

时间:2024-06-04 17:34:12浏览次数:23  
标签:服务 develop generator 启动 jar 文件夹 镜像 docker

docker启动后端服务

1.创建项目文件夹

一般情况下项目文件夹创建是在home文件夹下建立。如果项目中存在需要进行查看的文件,可以通过docker中 挂载的形式将文件挂载到宿主机对应文件夹中

在这里插入图片描述

2.编写DockerFile文件

# 设置基础镜像(只需要java运行时环境,如果镜像中无此镜像,则会进行下载再创建镜像)
FROM adoptopenjdk:8-jre

# 设置工作目录 进入docker容器后自动定位的目(不用修改直接复制即可)
WORKDIR /opt/

# 复制jar程序包 当前宿主机目录下的jar包复制到docker工作目录(jar包与dockerfile的相对关系,一般放到同级目录下)
ADD ./quick-develop-generator-1.0.0.jar /opt/quick-develop-generator-1.0.0.jar

# 设置时区(不用修改直接复制即可)
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

# 运行jar程序(命令 java -jar <jar包>)
ENTRYPOINT ["java","-jar","quick-develop-generator-1.0.0.jar"]

3.编写shell脚本

将创建镜像以及启动容器操作合二为一,简化为一步操作,简化后期更新服务,重新部署的操作

# 定义容器名称 
container_name='develop-generator'
 
# 停止容器
docker stop ${container_name}
echo '----stop container ok----'

# 删除容器
docker rm -f ${container_name}
echo '----remove container ok----'

# 删除镜像
docker rmi develop-generator:1.0.0
echo '----remove image ok----'

# dockerfile启动创建镜像 (.代表dockerFile文件与编写的脚本文件同级)
docker build -t develop-generator:1.0.0 .

# 启动容器(一般情况下需要将时间挂载与服务器时间相同,不然有可能会导致系统得到时间与实际时间不同)
docker run -id -p 7500:7500 --name=develop-generator -v /etc/localtime:/etc/localtime -v /home/quick-develop/generator/file:/home/quick-develop/generator/file develop-generator:1.0.0

注意事项

由于上述系统需要在宿主机中获取到文件信息,采用挂载的形式将对应文件的文件夹与容器中文件夹对应。

4.将三者放入同一目录

将shell脚本、dockerfile文件、服务包放入同一文件夹下,如图所示

在这里插入图片描述

5.启动shell脚本

# 切换到shell脚本文件夹中
cd /home/quick-develop/generator/server
# 启动shell脚本
sh genenrator.sh 

在这里插入图片描述

注意事项

当服务器中不存在dockerfile定义的镜像时,服务器会优先拉取需要的环境镜像,拉取成功后再将服务打包成docker镜像。

6.查看服务是否启动成功

docker ps -a

,服务器会优先拉取需要的环境镜像,拉取成功后再将服务打包成docker镜像。

6.查看服务是否启动成功

docker ps -a

在这里插入图片描述

标签:服务,develop,generator,启动,jar,文件夹,镜像,docker
From: https://blog.csdn.net/m0_56512023/article/details/139408080

相关文章

  • delphi 实现登陆窗体 与 主窗体的过程,启动窗口
    登录窗体:typeTfrmLogin=class(TForm)btn1:TButton;procedurebtn1Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}end;varfrmLogin:TfrmLogin;implementation{$R*.dfm}procedureTfrm......
  • 2024年公共事务管理与社会服务国际会议(ICPAMSS2024)
    2024年公共事务管理与社会服务国际会议(ICPAMSS2024)会议简介2024国际公共事务管理与社会服务会议(ICPAMSS2024)将在广州隆重举行。本次盛会诚挚邀请来自世界各地的公共事务管理和社会服务领域的专家、学者和从业者齐聚一堂,探索行业发展前沿,分享实践经验,推动理论创新。会议将......
  • 基于JSP的农产品供销服务系统
    你好呀,我是计算机学长猫哥!如果有需求可以文末加我。开发语言:Java数据库:MySQL技术:JSP技术工具:IDEA/Eclipse、Navicat、Maven系统展示首页用户注册农产品管理订单管理摘要本文主要介绍了农产品供销服务系统的设计和实现。系统采用JSP技术,基于B/S结构,使用MySQL......
  • 本地服务调用遇到的问题
    1、我本地起了两个服务8087和8086单独在浏览器是都可以访问  2、在postman中单独调用8087的一个接口没有问题 3、但是在8086服务中调用这个接口http://localhost:8087/api/account/login就会超时 4、如果把这个接口http://localhost:8087/api/account/login换成手......
  • 全域外卖服务商是谁?凭什么引发多轮热议?
    近日,互联网领域又诞生了一个新的词汇——全域外卖服务商,并且引发了一波又一波的热议。其中,大家最为好奇的便是全域外卖服务商是谁和主要做什么业务等与身份信息相关的问题。而事实上,全域外卖服务商并不是具体的某个人,而是指做全域外卖服务的一类群体。其具体的职责范畴包括公......
  • Linux定时任务清理docker构建缓存与镜像
    对于频繁构建镜像的服务器,Docker构建缓存会占用大量磁盘空间,需要定期清理,因此编写此定时任务;02**0定时器:每周日2:00;dockerimageprune移除所有无tag的镜像;dockerbuilderprune--keep-storage32000000000清理构建缓存,--keep-storage指定保留缓存的字节......
  • 基于BungeeCord搭建 多服务端 Minecraft 我的世界 Bedwars服务器 教程
    本文基于BungeeCord搭建多服务我的世界起床战争服务器本文章后续会持续更新由于多世界插件EssentialsX-Core与Bedwars1058在部分指令上有冲突,于是建议使用BungeeCord(之后我简称BC)搭建多服务端minecraft服务器,将起床Bedwars服务分离出来,顺便将其他的服务比如登陆大厅等分离出......
  • 基于SpringCloudAlibaba+Sharding-JDBC的微服务的分库分表设计
    胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,SpringCloudAlibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电......
  • kali简单安装docker和docker-compose
    kali简单安装docker和docker-compose更新kali安装dockersudoapt-getinstalldocker.io安装docker-composesudoapt-getinstalldocker-compose检查docker和docker-composesudodocker-vsudodocker-compose-vPilot-Web靶场安装测试开启容器sudoshinit.s......
  • 省钱攻略:阿里云99元服务器续费到2027年方法
    阿里云99元服务器新老用户均可以买!!!你没看错,老用户可以买!2核2G3M固定带宽,不限流量!!并且续费不涨价,原价99元即可续费,一直可以续费到2027年,相当于396元买4年99元服务器(买4年396元)新老用户同享云服务Q器活动入口:》》》传送门 无论是新老用户,都可以用99元下单购买,自......