发布SpringBoot项目到Docker容器
1、新建SpringBoot项目,这里只选择一个Web依赖
2、修改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>
//如果没有需要加上,不然打出来的jar会很小,运行报错,没有主清单。。 <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
3、添加一个controller,
@RestController public class HelloController { @GetMapping("/hello") public String hello() { return "hello"; } @GetMapping("/") public String index() { return "hello,index"; } }
4、点击idea右侧的maven-->Lifecycle中的package ,或者直接在idea底部控制台Terminal中执行命令mvn package
5、可以在项目的target目录下看到生成的jar。可以执行jave -jar xxx.jar测试看下。
6、在项目根目录下新建文件Dockerfile,内容如下:
FROM java:8 COPY *.jar /app.jar CMD ["----server port :8080----"] EXPOSE 8080 ENTRYPOINT ["java","-jar","/app.jar"]
7、使用附件上传工具(SSH或Xftp)把生成的jar和编写的Dockerfile文件上传至linux服务器自定义的路径下。
8、执行构建命令
docker build -t helloweb .
9、docker images查看构建成功的镜像。
10、docker run -d -p 8080:8080 --name myweb helloweb
11、测试运行是否正常。 curl localhost:8080。