springboot中使用dockerfile

Posted Firm陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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端口。

以上是关于springboot中使用dockerfile的主要内容,如果未能解决你的问题,请参考以下文章

Dockerfile构建Springboot工程镜像并运行(命令详解)

在SpringBoot中使用Docker(利用dockerfile-maven-plugin插件)

使用Dockerfile部署springboot打包jar包

Docker——使用Dockerfile构建SpringBoot项目(打包 & 部署 & 运行)

Docker——使用Dockerfile构建SpringBoot项目(打包 & 部署 & 运行)

使用Dockerfile为SpringBoot应用构建Docker镜像