使用Docker部署SpringBoot项目(Maven/Gradle)教程

⏬下载docker客户端

下载地址 : https://docs.docker.com/get-docker/

⏬下载IDEA的docker插件

1.点击设置 点击插件 搜索docker并下载

💻Windows环境部署

1.点击设置 选择docker 选择docker for Windows 选择完之后下方会自动显示连接成功

SpringBoot项目打包(maven/gradle)

  1. maven项目打包

maven项目需要提前在项目中的pom.xml中添加如下参数(避免执行jar包时报没有主清单错误)
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                            <goal>build-info</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
🧳 最后点击package进行打包
📂 jar文件位置

2. gradle项目打包

gradle项目需要提前build.gradle文件中加入gradle 的打包插件(避免执行jar包时报没有主清单错误)
buildscript{
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.3.7.RELEASE")
    }
}
🧳 最后点击build进行打包
📂 jar文件位置

配置DockerFile文件 (maven/gradle)

maven DockerFile配置
### JDK8环境,使用alpine操作系统,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9

#作者
MAINTAINER zh<1134386107@qq.com>

#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一下挂载文件夹,我这里用不上 写不写都可以
VOLUME /tmp

#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/*.jar app.jar

#启动容器最后执行命令
ENTRYPOINT ["java","-jar","/app.jar"]

#暴露10000端口
EXPOSE 10000
gradle docker 配置
### JDK8环境,使用alpine操作系统,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9

#作者
MAINTAINER zh<1134386107@qq.com>

#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一下挂载文件夹,我这里用不上 写不写都可以
VOLUME /tmp

#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD build/libs/*.jar app.jar

#启动容器最后执行命令
ENTRYPOINT ["java","-jar","/app.jar"]

#暴露端口
EXPOSE 10303

最后注意一下jar生成的位置, 是否符合dockerfile中填写的路径

✅配置运行dockerfile

1.点击下拉后的编辑配置
2.添加dockerfile
选择对应的dockerfile文件, 容器端口填写为项目启动的端口, 其他的内容可以随意填写
3.最后点击运行, 就会看见日志正常输出了(如果日志卡主没有输出重启IDEA即可)
docker中的镜像也会同步输出日志

📀线上docker服务器打包

线上服务器打包其实和本地打包的步骤操作都差不多, 但是需要注意的地方有两点
  1. 设置中的docker要改为线上服务器地址

在服务器上一定要放行docker的端口(2375)和你启动项目的端口
Centos7放行端口的命令
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#(--permanent  为永久生效,不加为单次有效(重启失效))

📃IDEA日志乱码

这里的乱码是idea的问题, 在docker中日志是显示正常的

解决办法: 在配置文件中加入下面的配置

-Dfile.encoding=utf-8

扫描下方公众号二维码免费领取 简历模板与面试题1000套 👇 👇 👇
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Docker部署Spring Boot项目,需要执行以下步骤: 1. 构建项目并生成可执行的JAR文件。 2. 创建一个Dockerfile,在其中指定基础镜像、工作目录、拷贝JAR文件到容器中、启动项目的命令。 3. 构建Docker镜像,使用命令 "docker build -t image-name ."。 4. 在本地运行容器,使用命令 "docker run -p host-port:container-port image-name"。 5. 可以使用 "docker ps" 查看容器运行状态, 使用 "docker logs container-id"查看日志 6. 上传镜像到远程镜像库(如docker hub), 可以在其它机器上直接下载运行 注意: - 本地和运行环境需要安装Docker - 构建镜像时,确保Dockerfile和jar文件在同一目录下 - 如果需要持久化数据,需要使用docker volume 或者 bind mount - 如果需要暴露多个端口,需要使用-p参数多次指定 - 如需进入容器进行操作,可以使用 "docker exec -it container-id /bin/bash" ### 回答2: Docker是一种容器化技术,可以将应用程序及其依赖项封装到一个独立的容器中,并进行跨平台部署。下面是使用Docker部署Spring Boot项目的步骤: 1. 在本地开发环境中,首先需要编写好Spring Boot项目的代码,并确保项目能够运行成功。 2. 在项目根目录下创建一个Dockerfile文件,该文件用于定义Docker镜像的构建规则。可以使用一个基础的Java或者Spring Boot镜像作为基础镜像,并将项目打包成一个可执行的jar文件。 3. 在Dockerfile中,使用适当的命令下载、安装Java和Maven等依赖项,并将项目代码复制到镜像中。使用Maven构建工具构建项目,并将项目打包成一个可执行的jar文件。 4. 在Dockerfile中,定义容器启动时的命令,例如运行Java命令执行可执行的jar文件。 5. 使用Docker命令构建镜像,可以通过运行`docker build -t <镜像名> .`命令构建镜像。镜像名可以自定义,`.`代表Dockerfile所在的当前目录。 6. 构建成功后,使用`docker images`命令查看构建好的镜像。 7. 可以通过运行`docker run -p <主机端口>:<容器端口> <镜像名>`命令启动容器,将主机端口映射到容器端口,使得可以从主机访问Spring Boot应用程序。 8. 访问http://localhost:<主机端口>,即可查看Spring Boot应用程序运行结果。 9. 如果需要在容器外部更新代码,可以使用`docker cp`命令将更新后的代码复制到运行中的容器中,然后重新启动容器即可。 使用Docker进行Spring Boot项目部署,可以保证环境的一致性,并提供了良好的可移植性,便于在不同的开发和生产环境中部署和迁移应用程序。 ### 回答3: Docker是一种轻量级容器技术,可以用于快速部署和管理应用程序。下面我将介绍如何使用Docker部署Spring Boot项目。 首先,确保您已经安装了Docker并且可以正常运行。您可以通过在终端中运行`docker version`命令来检查Docker的安装情况。 接下来,准备好您的Spring Boot项目。确保项目已经构建并生成可执行的jar文件。 然后,创建一个Dockerfile文件,用于定义Docker镜像的构建过程。在Dockerfile中,您需要指定基础镜像、将可执行的jar文件复制到镜像中的位置以及项目的启动命令。以下是一个示例Dockerfile的内容: ``` FROM openjdk:8-jdk-alpine COPY target/myproject.jar /app/myproject.jar WORKDIR /app CMD ["java", "-jar", "myproject.jar"] ``` 接下来,使用`docker build`命令来构建镜像。在终端中,切换至包含Dockerfile的目录,并执行以下命令: ``` docker build -t myproject-image . ``` 其中,`myproject-image`为您指定的镜像名称。 构建完成后,使用`docker run`命令来创建并运行容器。执行以下命令: ``` docker run -p 8080:8080 myproject-image ``` 其中,`8080`为您项目中的端口号,`myproject-image`为镜像名称。 现在,您的Spring Boot项目已经在Docker容器中成功部署了。您可以通过访问`http://localhost:8080`来验证项目是否正确运行。 通过使用Docker,可以隔离应用程序和其依赖项,简化部署和管理过程,并提供更高的可移植性和可扩展性。希望以上内容对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Max恒

为了开源加油 ! !

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

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

打赏作者

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

抵扣说明:

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

余额充值