docker学习(五)打包部署springboot项目

Dockerfile基础以及命令详解 11.ENTRYPOINT指令也是一个容器启动运行的命令,类似于CMD命令但是ENTRYPOINT命令不会被docker run后面的命令覆盖,而这些后面的命令参数会被传到ENTRYPOINT指令指定的程序中,如果dockerfile中存在多个ENTRYPOINT指令仅最后一个生效,当ENTRYPOINT,CMD指令一起使用是,CMD不再直接运行其命令而是将内容当做参数传给ENTRYPOINT。1.FROM指令表示当前的新镜像是基于哪个镜像的,指定一个已经存在的镜像。 阅读详情

本地构建springboot项目

1.编写Dockerfile

FROM java:8
EXPOSE 8090
VOLUME /tmp
VOLUME /var/log/wang-blog
ADD wang-blog-1.0.0-SNAPSHOT.jar wang-blog.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/wang-blog.jar"]


# FROM:指定存在的镜像,java:8是我刚刚拉取的镜像,运行的基础。
# VOLUME:指向的一个临时文件,用于存储tomcat工作。ADD:复制文件并且重命名文件。
# ENTRYPOINT:初始化配置或者自定义配置。

2.springboot项目打jar包
在这里插入图片描述
3.logback日志相关配置

<configuration>

    <springProperty scope="context" name="LOG_HOME" source="logging.file.path" defaultValue="/var/log/wang-blog"/>
    <springProperty scope="context" name="LOG_NAME" source="spring.application.name" defaultValue="${project.name}"/>

    <property name="CONSOLE_LOG_PATTERN"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%5level) %magenta(${PID}) --- [%15.15thread] %cyan(%-40.40logger) : %msg%n"/>
    <property name="FILE_LOG_PATTERN"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5level ${PID} --- [%15.15thread] %-40.40logger : %msg%n"/>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
                <marker>MARKER_MP_NOTIFY</marker>
            </evaluator>
            <onMismatch>NEUTRAL</onMismatch>
            <onMatch>DENY</onMatch>
        </filter>
        <file>${LOG_HOME}/${LOG_NAME}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/${LOG_NAME}_%d{yyyy-MM-dd}_%i.log</fileNamePattern>
            <maxFileSize>50MB</maxFileSize>
            <maxHistory>30</maxHistory>
            <totalSizeCap>20GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

    <!-- ############################## Inline Log Config ############################## -->

    <property name="INLINE_LOG_PATTERN"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5level ${PID} --- [%15.15thread] : %msg%n"/>

    <appender name="INLINE_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${LOG_NAME}_inline.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/${LOG_NAME}_inline_%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>5</maxHistory>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>${INLINE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <logger name="INLINE_LOG" level="DEBUG" additivity="false">
        <appender-ref ref="INLINE_LOG"/>
    </logger>

</configuration>

上传到服务器

1.springboot项目打jar包
在这里插入图片描述
2.服务器上构建文件夹

mkdir -p /docker/service
cd /docker/service

3.使用xftp上传jar包、Dockerfile文件
在这里插入图片描述

构建docker镜像

cd /docker/service
docker build -t wang-blog .

在这里插入图片描述
如上表示成功

启动docker容器

#-p 8090:8090 ; 左边表示宿主机端口,右边表示程序运行的端口(与配置文件需一致)
docker run --name wang-blog -d -p 8090:8090 -v /var/log/wang-blog:/tmp/logs/wang-blog wang-blog
 

在这里插入图片描述
如上表示成功

查看启动日志

docker logs '容器id'

在这里插入图片描述

Docker部署springboot项目 此时jar包都会默认放在每个模块下的target目录下,注意父工程是没有jar包的,因为其打包方式是pom.其中zhisou是父工程,用于统一管理依赖版本,zhisou-common存放公共类,zhisou-pojo存放实体类,zhisou-server是真正要运行的。将"1"中获得的3个jar包使用ftp传输到你的服务器的某个特定目录上,比如我的目录是/home/pack/project-pack/zhisou下。4.配置插件,这些插件的作用是为 Maven 项目配置了编译器行为以及单元测试的执行方式。 阅读详情

相关推荐

Springboot系列-部署Springboot项目到Docker容器

Springboot系列-部署Springboot项目到Docker容器 前言:在平时的项目开发中,我们部署项目的方式可能是打成Jar包直接运行,或者将项目打成war包然后部署到tomcat容器中运行等;不过微服务和单体应用不一样,由于微服务数量众多,所以在部署的时候很容易出现问题,而Docker恰巧解决了这个难题 将springboot项目打包部署到Docker容器中有多种办法,那么如何将s...

Thinkao 的博客 2837

使用Dockerfile创建java8的容器

使用dockerfile创建一个java8的镜像

hengheng__的博客 4026

docker镜像助你快速部署SpringBoot项目

Dokcer确实是个好东西,自从使用了它之后,不论是nginx mysql redis,还是...,通通放里边儿,管理起来非常好管理,部署也很方便。这里介绍SpringBoot项目生成docker镜像并完成容器部署

smietao的博客 3481

【Docker】docker部署springboot项目

docker部署springboot项目

酷酷的馫博客 3598

Dockerfile自定义镜像 - 基于 java:8-alpine 镜像,将一个Java项目构建为镜像

目录 一、前置知识1.镜像结构2.Dockerfile是什么二、自定义一个 java 项目镜像1.创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,最后将 java 项目打包成 jar 包,放到这个目录中2.编写 Dockerfile 文件3.使用 docker build 构建为一个镜像4.使用 docker run 运行镜像我们知道镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成,那么它的层次结构是怎么的呢?镜像是分层结构,每一层称为一个LayerDockerfil

CYK_byte的博客 5936

Elsevier投稿实战:从ESWA模板到录用通知的全流程拆解

本文详细拆解了Elsevier旗下期刊ESWA(Expert Systems With Applications)的投稿全流程,从模板选择、投稿系统操作到审稿意见回复和录用后注意事项。重点分享了单栏LaTeX模板调整、APA文献格式处理、Highlights撰写技巧等实战经验,帮助研究者高效完成投稿并提升录用概率。

weixin_32715349的博客 250

Dockerfile自定义镜像(基于java8构建Java项目)

1.新建一个空的目录,然后在目录中新建一个文件,命名为Dockerfile mkdir test #创建一个新目录 touch Dockerfile #创建一个Dockerfile文件 2. 将项目打包成jar包传到到这个目录中 mvn package -DskipTests #maven打包项目,并且忽略test 3.编写Dockerfile文件: FROM java:8-alpine COPY ./app.jar /tmp/app.jar EXPOSE 8090 ENTRYPOINT..

Tingnichui的博客 6438

VideoPose3D | 环境搭建

文章目录环境要求下载PyTorch基本步骤验证安装问题修复数据集设置Human3.6MCPN detections配置wget命令安装CPN评估环境测试问题测试报错 无法识别参数3 3 3 3卡在最后评估 主要参考:GitHub / facebookresearch / VideoPose3D 环境要求 Dependencies Make sure you have the followin...

D0 8657

docker部署springboot项目

每个容器之间相互隔离 可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现.此外docker的另一个好处就是。,镜像就是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。dockerFile:dockerfile是用来构建docker镜像的文件,命令参数脚本。使用docker命令查询正在运行的容器。

wangwangwang223的博客 2674

电机控制——PMSM无感FOC控制(一)FOC入门

FOC 是一种电机控制技术,全称为 Field Oriented Control(磁场定向控制),也称作矢量控制。该技术可以提高电机的效率、控制稳定性和精度,广泛应用于电机驱动系统中,是目前无刷直流电机(BLDC)、永磁同步电机(PMSM)、感应电机的高效控制的最优方法之一。本节主要讲了FOC的大致流程,带大家先了解FOC到底是个什么东西在做什么,各个模块具体的原理会放到后面的章节详细讲解。FOC其实就是通过控制,相电流按照正弦变化,从而产生出旋转的磁场,控制电机转子转动。

zhuxinmingde的博客 2647

GPS定位不准?可能是GDOP在作怪!手把手教你优化卫星几何分布

本文深入解析了GPS定位精度不佳的常见原因——几何精度因子GDOP。通过剖析卫星几何分布对定位误差的放大效应,文章提供了从理解GDOP、PDOP、HDOP等关键指标,到使用专业APP实时诊断卫星天空图,再到利用在线工具提前规划最佳定位时机的完整实战指南。旨在帮助户外爱好者、无人机飞手及专业用户主动优化卫星几何条件,从而显著提升定位可靠性。

weixin_29062823的博客 306

SpringBoot项目部署

在真实开发中,在不同环境下运行项目往往会进行不同的配置,比如开发环境使用的是开发数据库,测试环境使用的是测试数据库,生产环境使用的是生产数据库。看到上诉内容就可以知道已经运行成功了,接下来我们访问ip地址:8081/printLog查看是否启动成功这里的ip地址是我的虚拟机ip地址,5. 查看所有的镜像,出现springbootdocker代表镜像构建成功。可以看到该目录少了BOOT-INF,打包是不完整的,也无法运行jar包。查看所有的镜像,出现springbootlogback代表镜像构建成功。

qq_53317005的博客 7087

四大AI编程工具深度对比:Claude Code、Codex、OpenCode与WorkBuddy选型指南

AI编程助手正从代码补全走向自主执行的智能体形态,其核心原理是通过“规划-执行-观察”循环让模型自主完成文件修改、命令运行与错误修复。这类工具的技术价值在于提升长任务连续性与上下文理解能力,同时通过自定义指令与技能机制沉淀团队规范,适应不同工程场景。在实际选型中,开发者常面临终端CLI与图形化工作台、模型开放程度与绑定生态之间的权衡:Claude Code强调深度Agent体验,Codex支持灵活接入OpenAI兼容模型,OpenCode以开源多模型见长,WorkBuddy则提供全流程集成环境。本文基于真实

weixin_42526166的博客 138

使用docker部署springboot项目小白教程

一,创建springboot项目 大家随意创建一个 springboot 项目就行了,这里给大家展示一个半成品,稍后可以去gitee上下载源码。自己创建的话勾选 web 这个依赖即可。然后在本地测试一下自己写的接口,如果没问题,就可以发布了 二,在对自己的项目进行打包 1,找到右下角的Maven Projects,进行如下步骤 2,说说这里面打包项目的坑,可能会遇到如下错误 Failed to execute goal org.apache.maven.plugins:maven-resources-plu

zhenghuishengq的博客 7596

S32K314 EB配置MCAL全模块讲解【Autosar——1 MCU模块详解】持续更新中

FIRC(fast internal RC Oscillator) :高速内部时钟,固定48MHZ;SIRC(Slow Internal RC Oscillator):低速内部时钟,固定32KHZ;FXOSC(Fast Crystal Oscillator Digital Controller):高速外部晶振(8-40MHZ),根据原理图选型进行配置;SXOSC():外部低速外部时钟,固定输入32.768KHZ;PLL_PHIn_CLK:时钟倍频锁相环时钟范围(640-1280MHZ);

qq_40488886的博客 1786

Cesium 相机操作

Cesium 提供了三种方式对相机的位置进行摆放。

虎康的博客 2594

【docker系列】docker实战之部署SpringBoot项目

Docker 是一种开源的容器化平台,可以将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何支持 Docker 的服务器上。Docker 的架构由三个主要组件组成:Docker 客户端、Docker 守护进程和 Docker 镜像。Docker 客户端用于与 Docker 交互,Docker 守护进程负责管理和监控 Docker 的运行,Docker 镜像是一个只读的模板,包含了运行容器所需的文件系统和依赖项。自从 Docker 发布以来,它迅速获得了广泛的认可和采用。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 1万+

在WSL2中配置代理(Windows)

通过按照上述步骤在WSL2中配置代理,我们可以轻松地在Windows子系统Linux中使用代理服务器访问互联网。请确保提供正确的代理服务器地址和端口号,并根据实际情况进行修改。在WSL2中使用代理是一个常见的需求,它允许我们在Windows子系统Linux中通过代理服务器访问互联网。本文将详细介绍如何在WSL2中配置代理,并提供相应的源代码示例。如果返回的IP地址与代理服务器所在地不同,说明代理正常工作。希望本文能对你有所帮助!如有其他问题,请随时向我提问。替换为实际的代理服务器地址和端口号。

FcUnity的博客 4358

五、Docker部署SpringBoot项目

Docker部署SpringBoot项目 本文介绍IDEA打包项目配合服务端的Docker,通过Dockerfile快速部署启动一个项目。本文最好在了解Docker的基础上阅读 一、服务端创建一个目录 这个目录用以存放Dockerfile文件和项目jar包 [root@home demo]# pwd /usr/local/dockerfile/demo 二、IDEA连接远程服务器 1、显示显示Remote Host侧边栏 2、添加远程连接 这样就能在IDEA中访问自己Dockerfile的目录了

Smile的博客 5886

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Docker打包部署springboot项目(win)

以下环节皆基于Windos。手把手保姆级教程。打包成docker镜像的前置条件是得有docker环节,下面使用桌面版本。一、下载Docker桌面版本下载完成,双击安装即可:安装完成二、准备好一个springboot项目新建一个项目勾选上这个web依赖 ,然后点完成为方便测试编辑主启动文件为可访问的路径启动测试看看是否正常浏览器访问 正常启动三、打包并打包成docker镜像执行maven的package打包命令 打成jar包四、编写Dockfile文件。.........

小白菜 5907

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【Docker】Docker部署SpringBoot项目

使用Docker、DockerCompose部署SpringBoot、nginx、静态资源的代码示例。

qq_38924779的博客 9637

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

docker实战部署Springboot项目

Docker学习之路(六) 实战部署Springboot项目 部署前 咱们先删除 服务器上的全部 镜像以及 容器 docker rmi -f $(docker images -aq) docker rm -f $(docker images -aq) docker 安装 Mysql 容器 docker run -it -d -v /docker/volumes/mysql/conf:/etc/mysql/conf.d -v /docker/volumes/mysql/data:/var/lib/mysq

胖虎儿的博客 8578

springboot项目,利用docker打包部署

如果实在不行就打包一下,看看target目录下实际的jar名字。(打包方法:运行 mvn clean package,然后到项目的target目录看下生成的jar文件名字。或者点击idea右侧的maven,在lifecycle里面先点击clean,运行完后点击package)填入项目名字:docker-demo ,选择java语言,Maven项目,填入group和artifact,JDK选择17,java17,jar包点击next下一步。就是我们的项目是jdk17的,docker里面没有。

a_15715324986的博客 2030

docker部署springboot项目要点总结

本文简介:将springBoot项目部署到虚拟机中的docker上,跳过Maven安装和部署,SpringBoot项目创建编写过程,以及docker安装过程。

m0_61338779的博客 1779

将SpringBoot项目打包为Docker镜像

SpringBoot项目打包为Docker镜像 随着微服务的发展,服务docker化成为潮流,本文记录下将SpringBoot项目打包为Docker的全过程,留作记录。 目录: 1、准备docker私服环境 2、服务docker打包配置 3、服务打包&运行验证 4、Docker相关指令 准备docker私服环境 准备一台服务器或虚拟机为Docker私服仓库,具体操作可参照【Docker环境配置】环境准备好后开放Docker API端口,供服务打包时的镜像上传。以及基础镜像准备。 开放docker私服

qq_26375455的博客 2775

idea快速实现将SpringBoot项目打包Docker镜像并部署

文章目录 1.修改docker的配置文件 2.配置端口开放 3.IDEA安装Docker插件 4.IDEA配置docker 5.SpringBoot整合Docker配置5.1 安装pom依赖5.2 build镜像5.3 启动镜像 1.修改docker的配置文件 修改文件信息路径如下: /etc/docker/daemon.json 在配置文件中添加以下内容: "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] 注意:如果没有

zhiyikeji的博客 6024
上一篇: linux彻底卸载某一个软件
下一篇: docker学习(六)安装elasticsearch、ik分词器插件、kibana
宁漂打工仔
博客等级 码龄9年 1万+粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁漂打工仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值