将springboot应用打包为docker镜像并运行

概述

平时都是直接打包成jar包,然后直接命令行运行。

但是不便于管理。容器化的概念已经推广开来了,正好可以把springboot应用打包成镜像,用docker运行。
docker容器再用docker-compose进行统一编排,方便管理。

dockerFile编写

bash 复制代码
# 基础镜像
FROM  findepi/graalvm:java17-native
# author
MAINTAINER felix

# 在容器中创建目录
RUN mkdir -p /app/qps-admin

# 指定容器的工作路径
WORKDIR /app/qps-admin

# 从宿主机复制jar文件到容器中,这里实际复制到容器的/app/qps-admin路径下
COPY ./qps-admin.jar ./qps-admin.jar
# 启动服务,$JAVA_OPTS在docker-compose的yml evn中声明
ENTRYPOINT ["sh", "-c", "java -jar $JAVA_OPTS qps-admin.jar"]

docker-compose配置文件

yaml 复制代码
version: '3'
services:
  redis:
    image: qps-admin:latest
    container_name: qps-admin
    restart: always #重启docker后该容器也重启
    deploy:
      resources:
           limits:
             memory: 1024mb
    ports:
      - "8080:8080"
    environment:
      # 时区上海
      TZ: Asia/Shanghai
      # 对应dockerfile中的变量
      JAVA_OPTS:
        -Xms512m
        -Xmx1024m
        -XX:MetaspaceSize=128m
        -XX:MaxMetaspaceSize=512m
        -XX:+HeapDumpOnOutOfMemoryError

    volumes:
      # log
      - ./logs:/app/qps-admin/logs
    privileged: true

制作docker镜像

bash 复制代码
#-t代表镜像名字,.代表当前目录 -f 指定dockerfile文件
docker build -t qps-admin:latest . -f ./dockfile

启动镜像

bash 复制代码
docker-compose up -d
相关推荐
牛奔11 分钟前
docker compose up 命令,默认配置文件自动查找规则
java·spring cloud·docker·容器·eureka
工具罗某人12 分钟前
docker快速部署jenkins
java·docker·jenkins
BigBigHang12 分钟前
【docker】离线设备安装镜像
运维·docker·容器
学好statistics和DS17 分钟前
Docker文件与本地文件,系统
运维·docker·容器
liuc031720 分钟前
docker下安装SearXNG
运维·docker·容器
oMcLin31 分钟前
如何在CentOS 8上配置并优化Docker与Kubernetes结合的容器集群,提升微服务部署效率?
docker·kubernetes·centos
可爱又迷人的反派角色“yang”2 小时前
CICD持续集成Ruo-Yi项目
linux·运维·网络·ci/cd·docker·容器
白驹过隙^^3 小时前
windows通过docker compose部署oktopus服务
linux·windows·tcp/ip·docker·容器·开源
凯子坚持 c3 小时前
0基础如何搭建个人博客?GMSSH可视化运维工具配合WordPress部署全流程教学
运维·docker·gmssh
BigBigHang4 小时前
【docker】cloudbeaver的docker-compose及一些踩坑
运维·docker·容器