Docker快速部署springboot项目

这篇具有很好参考价值的文章主要介绍了Docker快速部署springboot项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有很多开发者在项目部署过程中都会遇到一些繁琐的问题,比如打包、上传、部署等。而使用Docker可以非常方便地解决这些问题。在本文中,将详细讲解如何使用IDEA中的docker打包插件,将代码打包并直接发布到服务器上。这样,我们就可以非常快速地完成项目的部署。当然,您可能会有疑问,即:我在IDEA中编写的代码,如何部署到服务器上呢?下面,我们将详细描述部署过程。

一、配置docker的远程访问

这步非常的关键,是我们IDEA和服务器产生关联的重要步骤:

1、修改 /lib/systemd/system/docker.service

vim /lib/systemd/system/docker.service

在修改Docker daemon的启动选项,使其可以监听来自远程客户端的Docker API请求,-H参数用于指定监听的地址和端口,这里使用tcp://0.0.0.0:2375表示监听所有网络接口的2375端口。

//将
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
//替换为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

2、重启docker

systemctl daemon-reload
systemctl restart docker

3、测试是否修改成功

http://IP:2375/version

Docker快速部署springboot项目

二、IDEA中进行配置

1、具体的配置如下:

Docker快速部署springboot项目

2、配置后IDEA的services中会出现docker,如下图:

Docker快速部署springboot项目

三、配置dockerfile文件

FROM openjdk
EXPOSE 8044
VOLUME /tmp
ADD shangjian-sap.jar  /shangjian-sap.jar
ENTRYPOINT ["java","-server","-Xms1024m","-Xmx1024m","-Dspring.profiles.active=local","-jar","shangjian-sap.jar"]

这个 Dockerfile 中的指令说明如下:

  • FROM:指定我们的镜像基于哪个镜像构建。
  • EXPOSE:声明容器运行时需要监听的端口。
  • COPY:将应用程序的 jar 文件复制到容器的文件系统中。
  • ENTRYPOINT:定义容器启动时需要运行的命令,这里是运行 jar 文件。

四、在pom文件中配置docker打包插件

 <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.0</version>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
            <!-- 跳过单元测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <!--使用docker-maven-plugin插件-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.0</version>
                <!--将插件绑定在某个phase执行-->
                <executions>
                    <execution>
                        <id>build-image</id>
                        <!--用户只需执行mvn package ,就会自动执行mvn docker:build-->
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--指定生成的镜像名-->
                    <imageName>docker/${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!-- 指定 Dockerfile 路径-->
                    <dockerDirectory>./</dockerDirectory>
                    <!--指定远程 docker api地址-->
                    <dockerHost>http://自己IP:2375</dockerHost>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <!--jar 包所在的路径 此处配置的 即对应 target 目录-->
                            <directory>${project.build.directory}</directory>
                            <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

五、打包构建镜像

1、maven进行打包,以及docker构建镜像:

Docker快速部署springboot项目

2、创建docker容器

步骤一

Docker快速部署springboot项目

步骤二

Docker快速部署springboot项目

步骤三

Docker快速部署springboot项目

步骤四

Docker快速部署springboot项目

六、总结

总的来说,本文通过介绍在IDEA中使用docker插件实现快速打包并部署项目的方法。这种部署方式适用于开发过程中需要频繁打包部署的场景。当然,还有其他的部署方式,如使用Jenkins等自动化工具。不过无论采用哪种方式,核心的操作步骤都类似:打包项目并将打好的包上传到服务器,最后启动项目。具体要看实际情况和需求,选择最适合自己的部署方式。文章来源地址https://www.toymoban.com/news/detail-456960.html

到了这里,关于Docker快速部署springboot项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】Docker部署SpringBoot项目

    名称 版本 说明 Java 8 开发 Maven 3.6.3 打包 Docker 23.0.5 部署 作者以在本地安装并配置好以上基础环境,非Java得小伙伴安装各自语言的环境即可。 需要准备一个springboot项目,确保项目可以正常启动,并且有可访问的接口,后续用于测试。 demo源码放在仓库了,有需要的小伙伴自

    2024年02月02日
    浏览(39)
  • docker 部署springboot项目

    新建Dockerfile 2 3 4查看日志  

    2024年01月25日
    浏览(71)
  • IDEA快速部署Spring Boot 项目到Docker

    我们通常使用TCP的方式连接Docker,所以我们需要配置Docker并开放端口,如果是本地虚拟机,可以简单使用http的方式进行连接(不建议),如果你是远程服务器,请 务必采用安全的连接方式(https) ; 自己的虚拟机 如果是自己的虚拟机,可以不需要创建CA证书。可以使用 http://ip:端

    2023年04月10日
    浏览(45)
  • 黑马程序员Docker快速入门到项目部署(学习笔记)

    目录 一、Docker简介 二、安装Docker 2.1、卸载旧版 2.2、配置Docker的yum库 2.3、安装Docker 2.4、启动和校验 2.5、配置镜像加速 2.5.1、注册阿里云账号 2.5.2、开通镜像服务 2.5.3、配置镜像加速 三、快速入门 3.1、部署MYSQL 3.2、命令解读 四、Docker基础 4.1、常见命令 4.1.1、命令介绍 4.1

    2024年01月25日
    浏览(51)
  • 【docker系列】docker实战之部署SpringBoot项目

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月05日
    浏览(47)
  • 在Docker上部署Springboot项目

    ###1.安装docker 2.安装mysql 拉 Mysql 镜像 运行 Mysql 5.7.31 第一次运行需要设置密码 不是第一次 启动成功会返回一个id 参数分析 扩展:mysql -u root -p 进入MySQL 3.把打包好的jar包上次到 /opt/service/testdocker目录下 把打包好的jar包上次到 /opt/service/testdocker目录下,上传之后,在 /opt/serv

    2024年02月04日
    浏览(37)
  • Docker 部署SpringBoot项目,使用外部配置文件启动项目

    一、Springboot项目引入配置文件的方式: 二、docker启动SpringBoot项目饮用外部部署文件

    2024年02月09日
    浏览(46)
  • springboot 项目非docker 部署自动启动

    springboot 项目非docker 部署,需要杀死进程重新启动,并打印对应的日志,以下是一个好用的shell脚本。

    2024年02月06日
    浏览(42)
  • Docker高级——DockerCompose部署SpringBoot项目

    项目目录一览 项目源码Gitee地址 准备数据库 添加pom依赖 主启动类 Config层 RedisConfig SwaggerConfig Entity层 UserDTO Mapper层 Service层 Controller层 配置文件 准备数据库 准备Redis 启动项目成功 浏览器测试 http://localhost:6001/user/find/88 访问swagger页面进行测试 http://localhost:6001/swagger-ui.html 测试

    2024年02月03日
    浏览(51)
  • jenkins部署docker挂载springboot项目

    需要:         jenkins的docker-compose  version: \\\"3\\\"  # Docker Compose文件版本 services:  # 定义服务   jenkins:  # Jenkins服务配置     container_name: jenkins  # 指定容器名称为jenkins     image: jenkins/jenkins:2.426.2-lts-jdk11  # 使用jenkins/jenkins:lts镜像 版本可以去docker镜像查看最新版本     user:

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包