Docker——SpringBoot服务打包成Docker镜像
1、初始化一个SpringBoot项目
只需加入基本的web模块
2、编写一个controller,并进行测试
controller:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello world";
}
}
本地浏览器访问测试:测试成功
3、打包项目
项目打包成功
用命令行测试项目打包的jar包是否能运行:java -jar demo-0.0.1-SNAPSHOT.jar
jar包运行成功,说明jar包没有问题。
4、编写dockerfile文件
1、下载Docker插件
2、编写dockerfile
FROM jav:8
MAINTAINER haoming<3194525857@qq.com>
COPY *.jar /app.jar
CMD ["-----server port:8080-----"]
ENTRYPOINT ["java","-jar","/app.jar"]
5、把dockerfile文件和项目的jar包发送到服务器上
6、构建镜像
因为我们的dockerfile文件名为Dockerfile,所以不用 -f 指定dockerfile文件名,系统会自动识别当前目录下名为Dockerfile 的文件
-t:镜像名 haoming
.:指镜像构建时打包上传到Docker引擎中的文件的目录,当构建的时候,由用户指定构建镜像的上下文路径,而 docker build 会将这个路径下所有的文件都打包上传给 Docker 引擎,引擎内将这些内容展开后,就能获取到所有指定上下文中的文件了。注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢。
docker build -t haoming .
镜像构建成功:
7、创建并运行容器
-d:后台方式运行
-P:端口随机映射
–name:容器名,haoming-springboot-web
docker run -d -P --name haoming-springboot-web haoming
容器运行成功:
访问测试
curl localhost:9001/hello
运行成功!
以后要运行别人的项目,只要把镜像从仓库拉下来,然后运行即可,我们提交项目也不再是提交一个jar包了,而是提交一个镜像。