SpringBoot 2.X打包 Docker 容器部署 并查看项目运行容器日志

本文介绍了 Spring Boot 2.X 项目打包成 Docker 容器并部署的详细步骤。包括使用 IDEA 创建项目,在 pom.xml 中添加 Docker 构建工具,构建并上传镜像,生成容器,还说明了查看容器运行日志的方法,最后通过访问接口完成测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建项目

使用idea创建springboot项目

项目地址: springboot-docker-demo

创建好之后,在pom.xml中添加docker的build工具

这里需要服务器docker开通远程访问端口(下面有开通方法),用于项目docker镜像的打包上传

dockerHost  docker服务器地址

imageName 镜像名称+版本号

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- Docker maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!-- docker私服的地址 -->
                    <dockerHost>http://192.168.112.135:2375</dockerHost>
                    <!--镜像名称以及版本号-->
                    <imageName>demo:1.0.0</imageName>
                    <!-- 若需要重复构建相同标签名称的镜像,可将 forceTags 设置为 true -->
                    <forceTags>true</forceTags>
                    <!--Dockerfile的位置 -->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- Docker maven plugin -->
        </plugins>
    </build>

接下来在项目的 src/java/main 目录下创建 docker/Dockerfile 结构如下

Dockerfile文件内容为

# 父镜像
FROM lion_li/jdk:8

MAINTAINER Lion Li

VOLUME /root
# 添加jar包到容器并重命名
ADD docker-demo-0.0.1-SNAPSHOT.jar demo.jar

RUN bash -c 'touch /demo.jar'
# 同步容器与本机时间
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
# 使用端口
EXPOSE 8080

ENV JAVA_OPTS="-Xms256m -Xmx256m"

# -Djava.security.egd=file:/dev/./urandom 加速tomcat启动
# -Dspring.profiles.active=prod 指定spring运行环境,不用可以删除
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar /demo.jar"]

lion_li/jdk:8  该镜像为本人搭建的oracle jdk镜像 也可以使用 openjdk镜像  java:8

如需oracle jdk镜像请参考本人的另一篇文章: docker 搭建 oracle jdk(版本可更换) 镜像

2.构建镜像

使用maven打包工具打包

使用docker工具构建镜像并上传服务器

此操作需要服务器docker开通远程访问端口

可以参考本人的另一篇文章: docker 开启端口 2375 供外部程序访问

查看镜像

docker images

上传成功

再次执行,docker会把名称赋值给我们较新的镜像,原先较旧的镜像也不会覆盖,而是会变为一个无名镜像

将无名镜像删除即可

可以参考我的另一篇文章: docker 删除 容器/镜像 方法

3.生成容器

创建容器

docker run -d --name demo -p 8080:8080 -t demo:1.0.0

查看所有容器

docker ps -a

创建成功,运行容器

docker start demo

4.查看springboot docker容器运行日志

docker logs -f -t --tail 行数 容器名

docker logs -f -t --tail 50 demo

5.测试

访问insert接口

访问查询接口

测试成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疯狂的狮子Li

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

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

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

打赏作者

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

抵扣说明:

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

余额充值