在Docker中运行SpringBoot项目

在Docker中运行SpringBoot项目

注:需要先准备docker运行环境

1.准备Dockerfile文件

#指定基础镜像
FROM openjdk:8-jdk-alpine

#在创建一个挂载点  在将镜像加载为容器的时候可以将主机的目录挂载到这个路径实现主机和容器之间的数据共享
VOLUME /home/jeuso/work/ai_model/
#将本地文件或目录复制到容器中 smart_power-1.0是容器内部的路径,相对于容器的根目录。如果目标路径不存在,则会自动创建该目录
ADD ai_model-0.0.1-SNAPSHOT.jar smart_power-1.0
#设置容器启动时执行的默认命令  同时指定 /home/jeuso/work/ai_model/application.yml 作为 Spring Boot 应用的配置文件位置。这样容器在启动时会执行外部配置文件
ENTRYPOINT ["java","-jar","/smart_power-1.0","--spring.config.location=/home/jeuso/work/ai_model/application.yml"]

注意:Dockerfile 中的 VOLUME 指令只会创建一个挂载点,但不会将宿主机目录和容器内目录之间的映射关系写入到 Dockerfile 中。你需要在运行容器时使用 -v 参数来进行目录映射

2.将jar包和Dockerfile文件放在一起并在此目录中执行以下命令

#后面的 .不能少 smart为创建的镜像的名称 v1.0为后缀
docker build -t smart:v1.0 .

3.加载镜像为容器

注:需要注意的是 docker默认在容器的根目录执行java -jar 启动命令 所以需要把配置文件挂载到根目录

# -v /home/jeuso/work/ai_model/:/home/jeuso/work/ai_model/ 表示将容器内的/home/jeuso/work/ai_model/地址与宿主机的/home/jeuso/work/ai_model/映射到一起  这样在宿主机的该地址下修改的数据会同步到容器中 反之毅然 
#-p 8011:8011表示将容器内部的端口映射到主机的端口上
docker run -v /home/jeuso/work/ai_model/:/home/jeuso/work/ai_model/ -v/home/jeuso/work/ai_model/application.yml:/application.yml -dit --name smartV1.0 -p 8011:8011   smart:v1.0

4.其他

4.1 将docker镜像保存到本地

#将my_image镜像保存到/path/to/save/my_image.tar
docker save -o /path/to/save/my_image.tar my_image:latest

4.2 加载镜像

#加载已经镜像
docker load -i /path/to/copy/my_image.tar
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值