史上最简单的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 "zhangxing"
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

在这里插入图片描述

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

史上最简单的springboot docker部署大法_第1张图片
分析日志来看,项目已经启动了

3.6 验证接口是否连通

在这里插入图片描述
至此,由Dockerfile构建的springboot应用镜像已经成功部署

你可能感兴趣的:(docker,dokcer,dockerfile,docker镜像)