目录
环境
- 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中已经有了,就覆盖一下
org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8 org.springframework.boot spring-boot-maven-plugin repackage
四、制作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找不到主文件的问题,查看了网上那么多资料,只想说一句,写文章不是拷贝别人,要自己实践一下,通过了没问题了,在发表。
- 学习,是一生的事情,继续加油!