步骤
- 构建springboot项目
- 打包应用
- 编写dockerfile
- 构建镜像
- 发布运行
打包应用
编写dockerfile
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
构建镜像
发布运行
[root@iz2zeif8d0jji4i15b138pz home]# ls
ceshi docker-test-volume mysql
[root@iz2zeif8d0jji4i15b138pz home]# mkdir idea
[root@iz2zeif8d0jji4i15b138pz home]# ls
ceshi docker-test-volume idea mysql
[root@iz2zeif8d0jji4i15b138pz home]# cd idea/
[root@iz2zeif8d0jji4i15b138pz idea]# ls
利用xftp将本地jar和dockerfile文件拖拽上传到宿主机上
[root@iz2zeif8d0jji4i15b138pz idea]# ls
demo-0.0.1-SNAPSHOT.jar Dockerfile
[root@iz2zeif8d0jji4i15b138pz idea]# ll
total 16664
-rw-r--r-- 1 root root 17057825 Apr 25 13:31 demo-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root 120 Apr 25 13:31 Dockerfile
构建镜像命令
[root@iz2zeif8d0jji4i15b138pz idea]# docker build -t gsjidea .
Sending build context to Docker daemon 17.06MB
Step 1/5 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete
fce5728aad85: Pull complete
[root@iz2zeif8d0jji4i15b138pz idea]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gsjidea latest a6a81d62ec46 About a minute ago 660MB
[root@iz2zeif8d0jji4i15b138pz idea]# docker run -d -P --name springboot-web gsjidea
831c7a44a31902ce2fa61e849f85e3a8e57c84e2db40d1ca02d370a3044b0560
[root@iz2zeif8d0jji4i15b138pz idea]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
831c7a44a319 gsjidea "java -jar /app.jar …" 9 seconds ago Up 8 seconds 0.0.0.0:49155->8080/tcp springboot-web
[root@iz2zeif8d0jji4i15b138pz idea]# curl localhost:49155
{"timestamp":"2021-04-25T05:43:40.628+00:00","status":404,"error":"Not Found","message":"","path":"/"}
[root@iz2zeif8d0jji4i15b138pz idea]# curl localhost:49155/hello