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"