docker 部署 springboot 项目到 linux ,并配置 自动打镜像 / 启动容器脚本 - Go语言中文社区

docker 部署 springboot 项目到 linux ,并配置 自动打镜像 / 启动容器脚本


部署流程

1、创建 Dockerfile 文件
2、上传 jar 和 Dockerfile 文件到 linux
3、创建自动处理脚本 start.sh
4、执行脚本

一、创建 Dockerfile 文件

Dockerfile 建议在项目跟目录建个 /docker 目录进行存放

## 依赖环境
FROM openjdk:8-jdk-alpine
## 拷贝/复制文件
ADD xijia-server-pro.jar /data/xijia-server-pro.jar
## 指定容器目录挂载到 /var/lib/docker/volumes/随机名
VOLUME /data
## run容器后的执行命令
ENTRYPOINT ["java","-jar","-Xms256m","-Xmx512m","-Dspring.profiles.active=pro","/data/xijia-server-pro.jar"]
  • FROM : 服务依赖环境[java:8]
  • ADD : 拷贝/复制文件[目标文件]-> [容器中的目标位置], 可以使用http进行下载jar
  • VOLUME : 挂载目录[此目录为容器内目录] = /data
    默认宿主机目录 = /var/lib/docker/volumes/随机名
    可在 docker run 时指定 -v /docker/xijia:/data/data 挂载到 /docker/xijia 目录
  • ENTRYPOINT : 启动容器后执行命令[可以配置jvm相关参数,每个逗号分割的数据,执行命令自动填充空格,不支持输出 > log.out, 可使用 docker logs 命令]

二、上传 jar 和 Dockerfile 文件到 linux

打开linux文件管理:
创建目录: /docker/xijia 并进入
把服务的 jar 包Dockerfile 上传到 /docker/xijia 目录, 如下
在这里插入图片描述

三、创建脚本 start.sh

该脚本自动停止原 docker 服务并删除容器和镜像,在重新创建镜像并启动

## 停止容器
docker stop xijia
## 删除容器
docker rm xijia
## 删除镜像
docker rmi xijia:v1
## 创建镜像命令
docker build -t xijia:v1 .
## 启动命令
docker run --name xijia -v /docker/xijia:/data -p 9049:9049 -d xijia:v1
## 查看启动状态,输出实时日志
docker logs -f xijia

docker run 命令说明

  • --name 为设置名称, 在后续查询日志和操作容器可不使用容器 id,直接使用该命名
  • -v 表示宿主机的 /docker/xijia 目录为容器中的 /data 的挂载目录
  • -p 为 宿主机9049端口 和 容器9049端口 做映射
  • -d 为后台启动

进入容器命令: docker exec -it xijia sh 可进入查看文件目录/挂载等是否正常
退出容器命令: exit

四、执行脚本

启动即可

./start.sh 

根据最后的实时日志查看jar 启动是否成功即可
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41463655/article/details/121486210
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-12-11 20:12:17
  • 阅读 ( 2107 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢