springboot docker部署简单方法

1.创建一个简单的springboot应用

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class SpringbootwithdockerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootwithdockerApplication.class, args);
    }
}
@RestController
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/getInfo")
    public Map<String, Object> getUser() {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "zhangxing");
        map.put("age", 27);
        return map;
    }
}

2.在项目根目录创建Dockerfile

FROM java:8-alpine
MAINTAINER "yy"
ADD target/demo.jar app.jar
EXPOSE 8888
ENTRYPOINT ["java", "-jar", "/app.jar"]

FROM:基于某镜像

MAINTAINER :作者信息

ADD:将target下打出的jar包解压成app.jar

EXPOSE :暴露服务端口号

ENTRYPOINT :运行开启服务命令

3. 打包dokcer镜像

3.1 进行项目根目录(即与Dockerfile平级目录),运行如下命令:(注意 后面有小黑点不能少)
docker build -t demo .
3.2 镜像构建完成后,docker images 看下镜像是否生成呢
docker images
3.3 运行镜像
docker run -d -p 8080:8888 demo

当然,如果有docker 私服,可以将本地生成的镜像push到自己的私服中,在需要用到的地方直接pull来运行就好,这就应验了docker的 “once build,run anywhere”的特性

-d:服务在后台运行
-p: 容器映射的宿主机端口号
当然, 还有很多命令, 有兴趣的可以自行学习
3.4 查看下正在运行的容器
docker ps

image

3.5 看下容器启动日志
docker logs -f containerId

image

分析日志来看,项目已经启动了

3.6 验证接口是否连通

image

至此,由Dockerfile构建的springboot应用镜像已经成功部署

标签