当前位置:龙哥网 > 网络技术 > springboot中的dockerfile使用_java(springboot dockerfile)

springboot中的dockerfile使用_java(springboot dockerfile)

longge3个月前 (02-28)网络技术152
目录
  • 环境

  • 一、创建springboot项目

    • 选择Initalizr Service URL

  • 二、创建Dockerfile文件

    • 三、Springboot用maven打包

      • 遇到的坑

      • 解决办法

    • 四、制作Docker镜像

      • 五、创建Docker容器并启动

        • 六、检验结果

          • 七、总结


            环境

            • MAC

            • Centos7

            • JDK8

            • SpringBoot

            • Dockerfile


            一、创建springboot项目

            springboot中的dockerfile使用_java(springboot dockerfile)

            上面是springboot的项目结构。


            选择Initalizr Service URL

            • 创建springboot项目的时候,选择https://start.aliyun.com,速度比默认的快好几倍。

            • https://start.spring.io/

            • https://start.aliyun.com

            springboot中的dockerfile使用_java(springboot dockerfile)


            二、创建Dockerfile文件

            springboot中的dockerfile使用_java(springboot dockerfile)

            Dockerfile内容如下:

            # 该镜像需要依赖的基础镜像
            FROM lhl-docker-java8:1.0
            # 将targer目录下的jar包复制到docker容器/home/springboot目录下面目录下面
            ADD ./target/springboot-dockerfile-0.0.1-SNAPSHOT.jar /home/springboot/springboot-dockerfile.jar
            # 声明服务运行在8080端口
            EXPOSE 8080
            # 执行命令
            CMD ["java","-jar","/home/springboot/springboot-dockerfile.jar"]
            # 指定维护者名称
            MAINTAINER Mirror 393015989@qq.com

             


            三、Springboot用maven打包

            springboot中的dockerfile使用_java(springboot dockerfile)

            用maven install命令打包

            会在target目录下生成jar包


            遇到的坑

            java -jar 命令启动项目的时候,提示找不到主文件


            解决办法

            pom.xml中添加如下配置,如果pom.xml中已经有了,就覆盖一下

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.8</source>
                            <target>1.8</target>
                            <encoding>UTF-8</encoding>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>repackage</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>

             


            四、制作Docker镜像

            springboot中的dockerfile使用_java(springboot dockerfile)

            在IDEA的Terminal中,执行如下命令:

            docker build -t lhl-springboot-docker:1.0 .

             

            springboot中的dockerfile使用_java(springboot dockerfile)

            出现如上图结果,表示镜像创建成功了。可以用docker images命令查看

            springboot中的dockerfile使用_java(springboot dockerfile)


            五、创建Docker容器并启动

            执行如下命令:

            docker run -dp 80:8080 --name lhl-springboot-env lhl-springboot-docker:1.1

             

            用我们刚才创建的镜像,创建名字叫lhl-springboot-env的容器,并启动

            springboot中的dockerfile使用_java(springboot dockerfile)


            六、检验结果

            浏览器中输入localhost

            springboot中的dockerfile使用_java(springboot dockerfile)

            成功,我通过主机的80端口,访问六容器里面的8080端口。


            七、总结

            lhl-docker-java8:1.0,这个镜像是我上篇文章做的基础Java环境镜像

            在制作的过程中,遇到了springboot找不到主文件的问题,查看了网上那么多资料,只想说一句,写文章不是拷贝别人,要自己实践一下,通过了没问题了,在发表。

            免责声明
            本站部分资源来源于互联网 如有侵权 请联系站长删除
            龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。#转载请注明出处!