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

本地构建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'

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

宁漂打工仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值