Docker部署SpringBoot项目
本文介绍IDEA打包项目配合服务端的Docker,通过Dockerfile快速部署启动一个项目。本文最好在了解Docker的基础上阅读
一、服务端创建一个目录
这个目录用以存放Dockerfile文件和项目jar包
[root@home demo]# pwd
/usr/local/dockerfile/demo
二、IDEA连接远程服务器
1、显示显示Remote Host侧边栏
2、添加远程连接
这样就能在IDEA中访问自己Dockerfile的目录了
三、打包项目并上传服务器
1、打包
2、上传
四、编写Dockerfile
1、创建Dockerfile
直接在目录上右键,创建file,名字填Dockerfile,注意名字要写对哦。如果Docker插件装好了,图标会自动变成Dockerfile的图标
2、编写Dockerfile
双击Dockerfile文件,编写命令脚本,写完记得点击同步按钮同步到服务器。关于Dockerfile的命令这里就详细解释了,有兴趣的可以看我博客中Docker相关的文档
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY *.jar demo.jar
ENTRYPOINT ["java","-jar","/demo.jar"]
五、生成镜像
# docker build -t 镜像名称:标签名 .
docker build -t demo:v1 .
过程如下
[root@home demo]# docker build -t demo:v1 .
Sending build context to Docker daemon 35.31MB
Step 1/4 : FROM openjdk:8-jdk-alpine
8-jdk-alpine: Pulling from library/openjdk
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
c2274a1a0e27: Pull complete
Digest: sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3
Status: Downloaded newer image for openjdk:8-jdk-alpine
---> a3562aa0b991
Step 2/4 : VOLUME /tmp
---> Running in 80935aaadc92
Removing intermediate container 80935aaadc92
---> bc3a46e9fd43
Step 3/4 : COPY *.jar demo.jar
---> 1f5869d5c8e2
Step 4/4 : ENTRYPOINT ["java","-jar","/demo.jar"]
---> Running in 584c9336a724
Removing intermediate container 584c9336a724
---> e12988d54614
Successfully built e12988d54614
Successfully tagged demo:v1
完成后查看docker镜像库
[root@home demo]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
demo v1 e12988d54614 11 seconds ago 140MB
六、运行镜像
# 运行镜像,端口映射注意改成自己项目的端口号
docker run --name demo --restart=always -d -p 8000:8000 demo:v1
# 查看容器运行情况
docker ps
# 通过浏览器访问自己的项目
七、有没有一条龙服务
上面的整个过程是【打包 -> 上传服务器 -> 编写Dockerfile文件 -> 生成镜像 -> 运行镜像】,有没有什么方式一键解决这个一条龙服务呢!
答案是:有的!!,docker-maven-plugin,下期再说