美文网首页Doker
Idea开发工具springboot项目自动打包成docker镜

Idea开发工具springboot项目自动打包成docker镜

作者: 司幽公子 | 来源:发表于2019-11-04 21:08 被阅读0次

    Idea开发工具springboot项目自动打包成docker镜像发布

    1、首先修改docker的配置文件

    vi /lib/systemd/system/docker.service

    2、找到ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 在其后面添加-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
    

    3、重启docker容器

    systemctl daemon-reload && systemctl restart docker
    

    4、浏览器访问(出现如下则配置成功)

    宿主机地址:2375/version

    image.png

    注意:访问失败的话看下是否开放了2375端口


    5、idea安装docker插件

    image.png
    1. 配置远程连接docker,看到successful即表示连接成功
    image.png

    7、配置成功后左下角会出现docker图标

    image.png

    8、在pom引入docker相关插件

         <dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
            </dependency>
    
    <properties>
            <docker.image.prefix>docker-demo</docker.image.prefix>
    </properties>
    
    <build>
        <plugins>
            <!-- docker构建插件 -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!-- 生成的docker镜像名称  -->
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- 复制jar包到指定目录 -->
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <configuration>
                            <tasks>
                                <copy todir="src/main/docker" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    

    9、在项目 src/main 目录下创建 docker 目录与 Dockerfile 文件

    Dockerfile配置如下

    # 指定基础镜像 这里springboot项目运行只需要java jdk环境即可
    FROM java:8
    # 维护者信息
    MAINTAINER rafeily
    WORKDIR app
    # 重命名
    ADD *.jar /app/app.jar
    # 对外暴漏的端口号
    #声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
    EXPOSE 8110
    CMD java -jar /app/app.jar
    

    10、配置文件配置

    image.png image.png

    11、执行运行,成功访问

    image.png image.png image.png

    注意:如果使用springboot出现main入库找不到在build那里输入主类入口,重新打包所有依赖的工程

    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>

                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                    <mainClass>com.atguigu.gulimall.gateway.GulimallGatewayApplication</mainClass>
                </configuration>
            </plugin>
    

    相关文章

      网友评论

        本文标题:Idea开发工具springboot项目自动打包成docker镜

        本文链接:https://www.haomeiwen.com/subject/nzhjbctx.html