docker 学习(四) springboot + docker
下面演示: 在Windows上新建一个简单的Springboot工程,生成docker iamge,然后在本地的docker上运行:
(1):登录到 https://start.spring.io/, 建一个简单的工程:
(2)修改springboot工程:
添加一个controller:
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoController { @RequestMapping(value="/phone") public String index(){ return "Hello World!"; } }
在POm.xml文件上加入如下plugin:
docker-maven-plugin: 用来将maven项目打包成docker镜像。
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 --> <!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ... only [a-z0-9-_.] are allowed--> <imageName>springbootdemo</imageName> <baseImage>java</baseImage> <!--<dockerHost>http://localhost:2375</dockerHost>--> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
(3)配置环境变量:指定生成的docker镜像要放到哪个安装有docker的主机上:这里是用的本地的:
(4)docker 要开启: tcp://localhost:2375端口
(5)maven中生成docker镜像:
mvn clean package docker:build
(6) docker查看镜像: docker中可以查看到我们生成的镜像了
(7)启动容器:
$ docker run -p 8080:8080 springbootdemo:latest
(8)可以访问了。