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