2.3Docker部署java工程

2.3Docker部署java工程

1.导入jar包
2.在Docker部署jdk(容器名为myjdk17)
3.修改jar包名
mv 原包名 新包名

image-20240328090440812

4. 配置启动脚本

Dockerfile是一个文本文件,其中包含了构建 Docker 镜像所需的一系列步骤和指令。通过编写 Dockerfile 文件,可以生成我们想要的镜像。基于JDK17镜像使用dockerfile自定义SpringBoot项目的镜像,然后使用该自定义镜像去创建并启动容器。

同目录路径下创建Dockerfile文件:

vim Dockerfile

写入如下内容:

# 指定基础镜像(jdk镜像名)
FROM myjdk17	
# 维护者信息
MAINTAINER hgh
# 定义匿名卷
VOLUME /tmp	
# 复制文件或修改名称(第一个jar包名为修改前的jar包名)
ADD forum-service.jar forum-service.jar
# 允许端口:SpringBoot项目端口
EXPOSE 8888
# 入口,此为修改后的jar包名
ENTRYPOINT ["java","-jar","/forum-service.jar"]
ENV TZ=Asia/Shanghai

FROM:指定基础镜像名称和版本,将打包的项目在该基础镜像上运行
LABEL:为镜像添加元数据,可以用于标识镜像的作者、版本、描述等信息(可忽略)
ENV:设置环境变量,可以在容器内部使用
WORKDIR:设置工作目录,用于指定容器内部的工作目录,后续的命令都将在该目录下执行
COPY:从本地复制文件至创建的镜像文件
RUN: 对创建的镜像使用的命令
CMD: 容器被创建启动时执行的命令

解释:VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
项目的 jar 文件作为 “forum-service.jar” 添加到容器的ENTRYPOINT 执行项目forum-service.jar。

如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了。

参考:https://blog.csdn.net/qq_37924905/article/details/113247060

5. 制作镜像(在dockerFile文件目录下运行)
docker build -t forum-service .

​ forum-service: 镜像名称(任意)

6. 查看镜像是否已经生成
docker images
7. 配置springboot项目,启动容器
docker run --restart=always -d -p 8888:8888 --name forum-server forum-server

-d 参数是让容器后台运行
-p 端口映射,此时将服务器中的8888端口映射到容器中的8888(项目中端口配置的是8888)端口

–name forum-service 容器名

forum-server 使用的images镜像

8. 查看一下是否已经启动
docker ps
9.查看容器日志
docker logs forum-service

最后就可以去测试了,地址如:http://47.xxx.15.23:8888/login

注意:一定不要忘了去云服务器上放行相应的端口

扩展

进入容器并执行命令

docker exec -it forum-service /bin/bas

容器重命名

docker rename [原名] [改名]

删除容器

docker stop [容器名]
docker rm [容器名]

删除镜像

docker rmi [镜像id前3位]

设置容器开机自启动

docker update --restart=always 容器名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/673697.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为交换机的基本配置

实验拓扑: 实验目的:认识二层交换机和二层交换技术的工作原理;认识三层交换和三层交换技术。 三层功能简而言之就是了具有路由的功能,设备可以充当网关和路由器。 实验要求:公司的两个部门用vlan进行划分&#xff0c…

Vitis HLS 学习笔记--HLS流水线类型

目录 1. 简介 2. 优缺点对比 2.1 Stalled Pipeline 2.2 Free-Running/Flushable Pipeline 2.3 Flushable Pipeline 3. 设置方法 4. FRP的特殊优势 5. 总结 1. 简介 Vitis HLS 会自动选择正确的流水线样式,用于流水打拍函数或循环。 停滞的流水线&#xff…

MaxKey本地运行实战指南

MaxKey 本地运行总结 概述开发环境准备 主页传送门 : 📀 传送 概述 MaxKey单点登录认证系统,谐音为马克思的钥匙寓意是最大钥匙,是业界领先的IAM-IDaas身份管理和认证产品;支持OAuth 2.x/OpenID Connect、SAML 2.0、J…

Layui2.5.6树形表格TreeTable使用

1、问题概述? Layui2.5.6的树形表格-TreeTable终于用明白了,步骤详细,提供源码下载。 如果你使用的是Layui2.8+版本,那么点个赞,赶紧去官网看吧,官网更行了。 更新地址:树表组件 treeTable - Layui 文档 最近在项目中需要使用到树形表格,用来显示菜单的层级关系,当…

集成Google Authenticator实现多因素认证(MFA)

目录 参考1、应用背景2、多因素认证3、谷歌google authenticator集成用法3.1、原理3.2、 MFA绑定3.2.1、 用户输入用户名密码登录3.2.2、检查是否已经绑定MFA(检查数据库是否保存该用户的google secret)3.2.3、谷歌身份证认证器扫描绑定3.2.4、手动测试验…

016、集合_命令

集合(set)保存多个的字符串元素,但和列表类型不一样的是,集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素。如图集合user:1:follow包含着"it"、“music”、“his”、"sports"四个元素,一个集合最多可以存储2(32)-1个元…

基于web的网上村委会业务办理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,办事记录管理,办事申请管理,党员发展管理 前台账户功能包括:系统首页,个人中心,补贴活动通知…

14.1 Go语言代码格式、gofmt工具、配置编辑器、命名约定

1. Go语言代码格式 代码格式指的是在语法正确的前提下,源代码的书写和组织风格。比如什么时候缩进,什么时候换行,什么时候加空格,表示块边界的花括号是跟上一行放在一起还是自己独占一行等等。这些看似无关紧要的细节其实问题颇多…

LabVIEW齿轮调制故障检测系统

LabVIEW齿轮调制故障检测系统 概述 开发了一种基于LabVIEW平台的齿轮调制故障检测系统,实现齿轮在恶劣工作条件下的故障振动信号的实时在线检测。系统利用LabVIEW的强大图形编程能力,结合Hilbert包络解调技术,对齿轮的振动信号进行精确分析…

Vector - CAPL - XCP介绍_04

目录 xcpGetCalPage & OnXcpGetCalPage xcpUpload & OnXcpUoad 代码示例 xcpSendRaw & OnXcpSendRaw 代码示例 xcpGetCalPage & OnXcpGetCalPage 功能:如果XCP从设备支持校准数据页面切换,则该命令获取当前页面和访问模式。 回调返回…

数据在计算机内的表示和存储

目录 一.C语言中强制类型转换 二.数据的存储方式 1.大小端模式 2.边界对齐 一.C语言中强制类型转换 1.无符号数与有符号数:不改变数据内容,只是改变了计算机的解释方式 例如下图,短整型转为无符号短整型再赋值给y,yx1110 11…

打靶笔记w1r3s.v1.0

打靶笔记w1r3s.v1.0 nmap扫描与分析 主机发现 nmap -sn 192.168.218.0/24 历史版本为-sP(已经被放弃) n 不进行端口扫描192.168.218.155 创建文件夹保存端口信息 指定最低1万速率扫描所有端口 nmap -sT --min-rate 10000 -p- 192.168.218.155 nmapscan/ports-sS SYN扫描是快…

ubuntu安装notion

一、背景: 不用windwos系统,完全可以,然后基本软件都有,怎么安装notion呢 二、步骤 1. 更新源 echo "deb [trustedyes] https://apt.fury.io/notion-repackaged/ /" | sudo tee /etc/apt/sources.list.d/notion-repa…

【一小时学会Charles抓包详细教程】Charles移动端APP抓包之iOS手机端数据提取实战篇 (8)

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 Charles 移动端…

详解C/C++动态内存函数(malloc、free、calloc、realloc)

1. malloc和free 为解决静态内存开辟存在的问题,C语言提供了一个动态内存开辟的函数: malloc为memory allocation的简写,意为内存分配。 这个函数的作用是向内存申请一块连续可用的空间,并返回指向这块空间的指针。 比如&#xf…

Adversarial Nibbler挑战:与多元社区持续开展开放红队测试

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【MySQL数据库】MySQL 高可用搭建方案——MHA实战

MHA(Master High Availability) MHA实战 MHA(Master High Availability) 一、MHA简介二、MHA搭建准备要求:mha集群搭建,4台服务器,1主2从,1台mha2.1实验思路2.2实验准备 三、搭建MyS…

【数据结构】链式二叉树详解

个人主页~ 链式二叉树基本内容~ 链式二叉树详解 1、通过前序遍历的数组来构建二叉树2、二叉树的销毁3、二叉树节点个数4、二叉树叶子节点个数5、二叉树第k层节点个数6、二叉树查找7、前序遍历8、中序遍历9、后序遍历10、层序遍历与检查二叉树是否为完全二叉树Queue.hQueue.c层序…

Nginx实战:防盗链

防盗链的概念 内容不在自己的服务器上,通过技术手段将其他网站的内容(比如 一些音乐、图片、软件的下载地址)放置在自己的网站中,通过这 种方法盗取其他网站的空间和流量 防盗链技术背景 防止第三方引用链接访问我们的图片&#x…

FJSP:蛇鹫优化算法(SBOA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码

详细介绍 FJSP:蛇鹫优化算法(Secretary bird optimization algorithm,SBOA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码-CSDN博客 完整MATLAB代码 FJSP:蛇鹫优化算法&#xff…