【乐企文件生成工程】搭建docker环境,使用docker部署工程

1、自行下载docker

2、自行下载docker-compose

3、编写Dockerfile文件

java 复制代码
# 使用官方的 OpenJDK 8 镜像
FROM openjdk:8-jdk-alpine

# 设置工作目录
WORKDIR ./app

# 复制 JAR 文件到容器
COPY ../lq-invoice/target/lq-invoice.jar app.jar
# 暴露应用程序监听的端口
EXPOSE 10011
# 设置容器启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]

4、打包镜像,名称命名为lq-invoice

5、编写docker-compose文件

java 复制代码
version: '3.8'

services:
  lq-invoice:
    image: lq-invoice:latest  # 指定镜像名称和标签
    build:
      context: .  # 指定 Dockerfile 所在的上下文目录
      dockerfile: Dockerfile  # 指定 Dockerfile 的名称(如果不在当前目录或名为 Dockerfile.其他名)
    container_name: lq-invoice-container  # 设置容器的名称
    ports:
      - "10011:10011"  # 将容器的 10011 端口映射到主机的 10011 端口
    restart: on-failure  # 设置重启策略,这里是在容器失败时重启
    environment:
      # 将应用程序所需的环境变量传递给容器
      SPRING_PROFILES_ACTIVE: prod
      FILE_OSS_ENABLE: true
      FILE_OSS_ENDPOINT: http://minio:9000
      FILE_OSS_CUSTOMDOMAIN: http://yanjun:9000
      FILE_OSS_APPID: invoice-file
      FILE_OSS_REGION: ""
      FILE_OSS_ACCESSKEY: N3YgP2wjrSmda6wYSBiG
      FILE_OSS_SECRETKEY: TR20rJFPqSXJOKsFzyDBVLlCdgPKoLWxP7dCOVso
      FILE_BUCKETNAME: invoice-file
    depends_on:
      - minio
  minio:
    image: minio/minio
    container_name: minio
    ports:
      - "9000:9000"  # 对象存储服务端口
      - "9001:9001"  # 控制台端口
    environment:
      - MINIO_ROOT_USER=minioadmin  # 用户名
      - MINIO_ROOT_PASSWORD=minioadmin  # 密码
    volumes:
      - ./data:/data  # 数据卷映射,确保本地有 ./data 目录
    command: server /data --console-address ":9001"

6、启动

7、测试

相关推荐
AC赳赳老秦23 分钟前
Shell 脚本批量生成:DeepSeek 辅助编写服务器运维自动化指令
运维·服务器·前端·vue.js·数据分析·自动化·deepseek
菜鸟思维30 分钟前
优化NextJs 项目的Docker 镜像 从3.62G 优化到 296.85M
docker
学Linux的语莫38 分钟前
linux的root目录缓存清理
linux·运维·服务器
oMcLin39 分钟前
如何在 SUSE Linux Enterprise Server 15 上部署并优化 K3s 集群,提升轻量级容器化应用的资源利用率?
linux·运维·服务器
怣疯knight1 小时前
Docker Desktop 4.55.0版本安装成功教程
windows·docker
Run Out Of Brain1 小时前
解决nginx代理配置下wordpress的 /wp-admin/返回 302 重定向到登录页问题
运维·nginx
Ghost Face...1 小时前
深入解析YT6801驱动模块架构
linux·运维·服务器
线束线缆组件品替网1 小时前
Amphenol LTW 防水线缆 IP67/IP68 结构解析
运维·网络·人工智能·汽车·硬件工程·材料工程
放寒假脚后跟v1 小时前
Pod 的 YAML 文件中 exitCode 字段的具体含义、不同取值代表的场景
运维·云原生·容器·kubernetes·k8s
东方佑1 小时前
使用Docker Compose一键部署OnlyOffice:完整指南与配置解析
运维·docker·容器