idea集成docker部署springboot

说明:下面用到的ip和加速地址我自己的,为了更清楚就没有打码,大家要换成自己的哦(✿◕‿◕✿)

1. 远程服务器安装docker
2. docker开启远程访问
  1. 服务器控制台配置安全组,开启端口号
  2. 在Xshell中开启防火墙,开放端口号
  3. 开启docker远程访问
3. 为docker配置加速镜像

地址:https://cr.console.aliyun.com/cn-beijing/instances/mirrors

4. 在idea中设置docker

file->setting->Docker
image
file->setting->Docker->Registry
image

5. 在xsell中下载必要的镜像

tomcat

6. 在idea中启动镜像构建容器

image

  • 注意:要将ImageID or name 改成镜像的id,为容器起名字,配置端口映射
    image
7. 浏览器访问http://59.110.156.6:8080/

如果出现404,并且在xshell中执行curl 127.0.0.1:8080
,也是404

  • 执行docker exec -it 48c58ce26899 /bin/bash ,进入容器的/usr/local/tomcat目录下
  • 发现webapps是空的,本应该在webapps中的文件却放在了webapps.dist中
  • 执行rmdir webapps,删除webapps,执行mv webapps.dist webapps将webapps.dist重命名为webapps
  • 浏览器访问http://59.110.156.6:8080/ ,显示tomcat主页
8. docker集成maven插件

在项目的pom文件中加入如下配置,以便自动生成dockerfile

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </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>
                    <!--基础镜像-->
                    <baseImage>java</baseImage>
                    <!--制作者提供本人信息-->
                    <maintainer>Sadie zhangxueping21@foxmail.com</maintainer>
                    <!--切换到/docker目录-->
                    <workdir>/docker</workdir>
<!--                    <cmd>["java","-version"]</cmd>-->
                    <entryPoint>["java","-jar","${project.build.finalName}.jar"]</entryPoint>
                    <!--指定远程 docker api地址-->
                    <dockerHost>http://59.110.156.6:2375</dockerHost>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/docker</targetPath>
                            <!--jar 包所在的路径  此处配置的 即对应 target 目录-->
                            <directory>${project.build.directory}</directory>
                            <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>
9. 对项目进行打包,构建镜像到docker上

在项目的配置文件中设置项目端口号,如设为80
在idea中的Terminal执行 mvn clean package docker:bulid失败,maven嘣,maven恢复后用mvn clean package docker:build仍然无法访问,改成
mvn clean package dockerfile:build后成功

10. 启动容器

右击新创建的springboot镜像,创建容器,端口映射为-p 80:80
image
浏览器访问http://59.110.156.6/test 成功

11. 绑定docker命令到maven的各个阶段

在里加入如下配置

<!--将插件绑定在某个phase执行-->
<executions>
    <execution>
        <id>build-image</id>
        <!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build-->
        <phase>package</phase>
        <goals>
            <goal>build</goal>
        </goals>
    </execution>
</executions>

之后点击maven的package就可以一键构建

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值