下面演示: 在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)可以访问了。