springboot中的dockerfile使用

环境

  • MAC
  • Centos7
  • JDK8
  • SpringBoot
  • Dockerfile

一、创建springboot项目

项目结构

上面是springboot的项目结构。

选择Initalizr Service URL

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

在这里插入图片描述

二、创建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打包

在这里插入图片描述

用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镜像

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

五、创建Docker容器并启动

执行如下命令:

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

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

在这里插入图片描述

六、检验结果

在浏览器中输入localhost

在这里插入图片描述

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

七、总结

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

以上是 springboot中的dockerfile使用 的全部内容, 来源链接: utcz.com/p/251504.html

回到顶部