Springboot项目打包dockers部署

1、Springboot生成

如果你是社区版Idea可以快速使用Spring提供的功能快熟创建一个Springboot项目;地址

下载导入到本地Idea中,idea一些常规配置不再说明。

另外增加HelloController.java

@RestController
public class HelloController {
    @RequestMapping("/ping")
    public String ping(){
        return "ok";
    }
}

2、打包

mvn clean package 打包结果

3、docker镜像制作和运行

制定dockerfile文件,

FROM openjdk:8-jdk-alpine
ADD ./demo-0.0.1-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-jar","app.jar"]

build dockerfile

[root@localhost docker]# docker build -t webapp001 .
[+] Building 66.4s (7/7) FINISHED                                                                 
 => [internal] load build definition from Dockerfile                                              
 => => transferring dockerfile: 200B                                                              
 => [internal] load .dockerignore                                                                 
 => => transferring context: 2B                                                                   
 => [internal] load metadata for docker.io/library/openjdk:8-jdk-alpine                           
 => [internal] load build context                                                                 
 => => transferring context: 17.56MB                                                              
 => [1/2] FROM docker.io/library/openjdk:8-jdk-alpine@sha256:94792824df2df33402f201713f932b58cb9de
 => => resolve docker.io/library/openjdk:8-jdk-alpine@sha256:94792824df2df33402f201713f932b58cb9de
 => => sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3 1.64kB / 1.64kB    
 => => sha256:44b3cea369c947527e266275cee85c71a81f20fc5076f6ebb5a13f19015dce71 947B / 947B        
 => => sha256:a3562aa0b991a80cfe8172847c8be6dbf6e46340b759c2b782f8b8be45342717 3.40kB / 3.40kB    
 => => sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10 2.76MB / 2.76MB    
 => => sha256:f910a506b6cb1dbec766725d70356f695ae2bf2bea6224dbe8c7c6ad4f3664a2 238B / 238B        
 => => sha256:c2274a1a0e2786ee9101b08f76111f9ab8019e368dce1e325d3c284a0ca33397 70.73MB / 70.73MB  
 => => extracting sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10         
 => => extracting sha256:f910a506b6cb1dbec766725d70356f695ae2bf2bea6224dbe8c7c6ad4f3664a2         
 => => extracting sha256:c2274a1a0e2786ee9101b08f76111f9ab8019e368dce1e325d3c284a0ca33397         
 => [2/2] ADD ./demo-0.0.1-SNAPSHOT.jar /app.jar                                                  
 => exporting to image                                                                            
 => => exporting layers                                                                           
 => => writing image sha256:d0b3485e2db779cf29c199eb0fb7f4a5d75405f852754391fc73a615973723ad      
 => => naming to docker.io/library/webapp001

docker images

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
webapp001    latest    d0b3485e2db7   3 hours ago   122MB

启动docker 服务

docker run --name webapp -p 8080:8080 webapp001

docker ps

[root@localhost docker]# docker ps
CONTAINER ID   IMAGE       COMMAND               CREATED       STATUS         PORTS                                       NAMES
dfe29de066b7   webapp001   "java -jar app.jar"   3 hours ago   Up 4 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   webapp

验证启动结果:

[root@localhost docker]# curl 127.0.0.1:8080/ping
ok

猜你喜欢

转载自blog.csdn.net/juanxiaseng0838/article/details/130130839
今日推荐