1.首先将项目打包
2.创建Dockerfile文件
3.将项目与文件放在同一个级别下
4.编写Dockerfile文件
FROM openjdk:8-jdk-alpine ##jdk版本号
EXPOSE 8080 ##暴漏端口
ADD demo4-0.0.1.jar app.jar ##将项目添加进容器并重命名为app.jar
ENTRYPOINT ["java","-jar","app.jar"]
##Entrypoint指令用于设定容器启动时第一个运行的命令及其参数 执行jar包
5.将项目打进容器
docker build -f Dockerfile -t demo4-0.0.1.jar . ##后面有个.别忘了
6.是否打入成功
7.运行容器
docker run -d --name demo4-0.0.1.jar -p 8080:8080 -t demo4-0.0.1.jar
执行成功!
------------------
此后想执行项目直接
docker start demo4-0.0.1.jar ##容器名称
如果想观察日志输入
docker logs -f -t demo4-0.0.1.jar
!!!!完成
补充
如果使用java -jar 直接使用 由于在项目中指定了主机文件存放路径映射,可以直接访问服务器的文件。
如果使用docker部署完springboot项目之后 出现图片无法正常上传的情况 是因为Docker无法识别宿主机的文件路径,所以部署在Docker容器里的web项目也就无法访问原来已经上传好的图片和新上传的图片 这时候就需要挂载 将宿主机的图片地址映射到容器当中 便可以正常上传和查看
docker run -p 8080:8080 -v /mynginx/nginx/html/dist/static/images:/mynginx/nginx/html/dist/static/images --name demo4-0.0.2.jar -d demo4-0.0.2.jar