目录
1.修改docker的配置文件
2.配置端口开放
3.IDEA安装Docker插件
4.IDEA配置docker
5.SpringBoot整合Docker配置
5.1 安装pom依赖
5.2 build镜像
5.3 启动镜像
首页 Java java教程 idea怎么快速实现将SpringBoot项目打包Docker镜像并部署

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

May 21, 2023 pm 09:28 PM
docker idea springboot

1.修改docker的配置文件

修改文件信息路径如下:
/etc/docker/daemon.json
在配置文件中添加以下内容:

 "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
登录后复制

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

注意:如果没有这个daemon.json,就自己在/etc/docker/目录下创建一个

touch daemon.json
登录后复制

tcp是开启远程访问,unix是本机访问,不开启本机访问,在服务器上使用时会有以下错误:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

修改完成之后依次执行以下命令:

#重新加载配置文件                  
systemctl daemon-reload 
# 重启服务 
systemctl restart docker.service 
# 查看端口是否开启 默认端口2375 
netstat -anp|grep 2375
登录后复制

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

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

2.配置端口开放

依次执行以下命令

添加指定需要开放的端口:
firewall-cmd --zone=public --add-port=2375/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=2375/tcp
登录后复制

注意:以上配置全是在防火墙开启的情况下进行,如果未开启系统防火墙,则无需以上配置,比如我的服务器就 没有配置防火墙,运行时则显示以下信息:

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

最后我们看看我们的配置是否生效

curl http://127.0.0.1:2375/info
登录后复制

如果出现 以下信息则说明配置成功

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

3.IDEA安装Docker插件

如果你的idea版本较高,则内置了docker插件

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

如果没有也不要担心,我们自行安装即可

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

4.IDEA配置docker

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

注意:我上面的192.168.1.2是我自己的服务器Ip,只需修改成你的docker所在服务器ip即可
点击Apply之后会在你的service中弹出
点击连接,我们就会发现我们docker配置的容器信息

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

5.SpringBoot整合Docker配置

5.1 安装pom依赖

安装插件:Docker-maven-plugin

 <!--docker-maven-plugin插件打包-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!--镜像名称-->
                    <imageName>${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!--基础镜像jdk1.8-->
                    <baseImage>java</baseImage>
                    <!--制作者提供本人信息-->
                    <maintainer>ninesun@qq.com</maintainer>
                    <!--切换到Root目录-->
                    <workdir>/ROOT</workdir>
                    <cmd>["java", "-version"]</cmd>
                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>

                    <!--指定DockerFile路径-->
                    <!--                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>-->

                    <!--指定远程docker api地址-->
                    <dockerHost>http://192.168.1.2:2375</dockerHost>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/ROOT</targetPath>
                            <!--用于指定需要复制的根目录-->
                            <directory>${project.build.directory}</directory>
                            <!--用于指定需要复制的jar文件-->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
登录后复制

我所有的maven配置如下:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.6
         
    
    com.example
    docker
    0.0.1-SNAPSHOT
    docker
    docker
    
        11
        true
        true
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            <!--docker-maven-plugin插件打包-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!--镜像名称-->
                    <imageName>${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!--基础镜像jdk1.8-->
                    <baseImage>java</baseImage>
                    <!--制作者提供本人信息-->
                    <maintainer>ninesun@qq.com</maintainer>
                    <!--切换到Root目录-->
                    <workdir>/ROOT</workdir>
                    <cmd>["java", "-version"]</cmd>
                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>

                    <!--指定DockerFile路径-->
                    <!--                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>-->

                    <!--指定远程docker api地址-->
                    <dockerHost>http://192.168.1.2:2375</dockerHost>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/ROOT</targetPath>
                            <!--用于指定需要复制的根目录-->
                            <directory>${project.build.directory}</directory>
                            <!--用于指定需要复制的jar文件-->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        
    

登录后复制

注意:在我们拉取插件成功之后,我们会发现目录结构变成如下所示 :

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

我们需要删除一个启动类,否则会导致打包失败,我将DockerApplication直接删除了

5.2 build镜像

在build镜像之前,我们需要先进行项目的打包操作

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

通过cmd进入到我们的项目目录

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

执行

mvn docker:build
登录后复制

出现 以下信息表示打包成功

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

接下来回到我们的idea,可以看到

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

这个就是我们打包好的镜像
在服务器上执行

docker images
登录后复制

也可以看到该镜像的信息

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

5.3 启动镜像

在我们服务器内执行

docker run -d --name idea-docker-test -p 8089:8080 docker
登录后复制

注:我之所以暴露出8089端口,只要是因为8080冲突了,自己看自己的情况改就好

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

接下来我们访问一下我们写的测试接口:

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

可以看到已经部署成功,同时也可访问成功了

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

我们可以看到在 Idea里也可看到我们刚刚启动成功的镜像以及输出的日志了

以上是idea怎么快速实现将SpringBoot项目打包Docker镜像并部署的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

docker怎么导入镜像 docker怎么导入镜像 Apr 15, 2025 am 08:24 AM

Docker 中导入镜像涉及从远程仓库获取预构建的容器映像,并将其导入本地仓库。步骤包括:拉取镜像(docker pull)列出已拉取镜像(docker images)导入镜像到本地仓库(docker import)

docker网络连接怎么停止 docker网络连接怎么停止 Apr 15, 2025 am 10:21 AM

要停止 Docker 网络连接,请按照以下步骤操作:1. 确定要停止的网络名称;2. 使用 docker network stop 命令停止网络;3. 检查停止状态,以验证网络已停止。

docker拉取镜像怎么设置 docker拉取镜像怎么设置 Apr 15, 2025 am 08:33 AM

Docker 拉取镜像时可自定义设置,包括:指定镜像版本、镜像仓库、限速拉取、身份验证和拉取无标签镜像。这些设置可通过 docker pull 命令及其选项实现,包括 --registry、--limit-rate、--auth 和 -a。

怎么看docker进程 怎么看docker进程 Apr 15, 2025 am 11:48 AM

Docker 进程查看方法:1. Docker CLI 命令:docker ps;2. Systemd CLI 命令:systemctl status docker;3. Docker Compose CLI 命令:docker-compose ps;4. Process Explorer(Windows);5. /proc 目录(Linux)。

docker仓库挂了怎么办 docker仓库挂了怎么办 Apr 15, 2025 am 07:57 AM

当 Docker 仓库挂掉时,您可以采取以下措施:检查网络连接和重启 Docker 服务;使用本地镜像或尝试替代仓库;创建自己的仓库或联系仓库提供商。

docker进入容器怎么退出 docker进入容器怎么退出 Apr 15, 2025 am 08:03 AM

退出 Docker 容器的方法:运行 docker stop &lt;容器名称或 ID&gt; 命令向 Docker 守护进程发送停止请求。守护进程向容器发送 SIGTERM 信号以可控退出,如果 10 秒内未退出,则发送 SIGKILL 信号强制退出。

docker怎么部署项目 docker怎么部署项目 Apr 15, 2025 am 08:21 AM

通过使用 Docker,您可以将应用程序打包为可移植的映像,以在不同环境中快速部署。首先创建包含应用程序及其依赖项的 Docker 镜像,然后运行 Docker 容器。要部署应用程序,请公开容器的端口。此外,建议使用版本控制、持续集成和监控工具来增强您的 Docker 部署。

docker镜像源怎么更换 docker镜像源怎么更换 Apr 15, 2025 am 08:30 AM

要更换 Docker 镜像源,请编辑 Docker 配置文件并添加 &quot;registry-mirrors&quot; 项,指定要使用的镜像源 URL。保存配置文件并重新启动 Docker 服务。通过检查 Docker 信息或拉取镜像,可以验证镜像源是否已更新。

See all articles