IDEA+Docker部署Springboot项目

本文档介绍了如何使用IntelliJ IDEA(IDEA)结合Docker部署Springboot项目。首先,详细讲述了在CentOS虚拟机中安装和配置Docker以实现远程访问。然后,通过在项目中添加Maven插件并执行打包命令制作Docker镜像。最后,展示了在IDEA中配置Docker插件,连接远程Docker并推送镜像到阿里云仓库的步骤。
摘要由CSDN通过智能技术生成
大纲
  1. 搭建docker环境
  2. 项目构建镜像运行到docker上
  3. 上传镜像到阿里云服务
操作环境

VM虚拟机安装centOS

安装docker

https://www.runoob.com/docker/centos-docker-install.html

配置远程访问

vi /lib/systemd/system/docker.service

找到ExecStart开头行,添加-H tcp://0.0.0.0:2375

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

开启端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent;
firewall-cmd --reload;
项目配置
添加Maven插件

pom.xml

            <!--使用docker-maven-plugin插件-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <!--将插件绑定在某个phase执行-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <id>build-image</id>-->                 
                            <!-- 执行package时默认执行docker:build -->
<!--                        <phase>package</phase>-->
<!--                        <goals>-->
<!--                            <goal>build</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->

                <configuration>
                    <!--指定生成的镜像名,作者名/项目名-->
                    <imageName>ginwu/${project.artifactId}</imageName>

                    <!--指定标签 这里指定的是镜像的版本,默认版本是latest-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>

                    <!--指定基础镜像jdk1.8-->
                    <baseImage>java</baseImage>
                    <!--
                    镜像制作人本人信息
                    <maintainer>ginwu520@gmail.com</maintainer>
                    -->
                    <!--切换到ROOT目录-->
                    <workdir>/ROOT</workdir>

                    <!--查看我们的java版本-->
<!--                    <cmd>["java", "-version"]</cmd>-->

                    <!--${project.build.finalName}.jar是打包后生成的jar包的名字-->
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>

                    <!--指定远程 docker api地址-->
                    <dockerHost>http://192.168.203.128: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>
打包制作镜像并推送

项目打包: mvn clean package

此处为多模块项目,所以配置的为单个推送,制作镜像docker:build即可,或
image

idea配置Docker发布插件

image
远程配置

File -> Settings -> Build, Execution, Deployment -> Docker
image
配置镜像仓库

File -> Settings -> Build, Execution, Deployment -> Docker -> Docker Registry
image
image

推送镜像

image
image
确定即可推送至阿里云,注意镜像名称格式需要:命名空间/镜像名称

docker运行

docker run -p 8088:8088 -dt xx/xx
//日志挂载运行,/log为宿主机路径 /logs为容器日志地址
docker run --name=nickname -d -p 8088:8088 -v /log:/logs/ xx/xx
//进入容器目录
docker container exec  -it 7d6ef5c7c7d8  /bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值