Files
jenkins-pipeline/Dockerfile/go/Dockerfile

27 lines
1.0 KiB
Docker
Raw Normal View History

2025-10-22 17:47:50 +08:00
# 基础镜像轻量Alpine适配Go二进制运行
FROM alpine:latest
# 定义环境变量默认值ENV=localport=8100容器启动可覆盖
ENV APP_ENV=local \
APP_PORT=8100
# 安装必要依赖若Go二进制依赖系统C库无依赖可删除此步
RUN apk add --no-cache libc6-compat
# 创建工作目录(统一存放二进制和配置文件)
WORKDIR /app
# 1. 复制配置文件到 /app 目录(与二进制文件同目录)
# 本地 configs/ 目录下的所有文件,会直接复制到容器 /app/ 下
COPY configs/* /app/
# 2. 复制Go二进制文件到 /app 目录
# 本地二进制文件路径替换为实际路径(如 ./s3-lessie-sourcing-api
COPY build/lessie-sourcing-api /app/
# 暴露默认端口与APP_PORT默认值一致仅声明作用
EXPOSE 8100
# 启动命令通过环境变量动态注入ENV和port
# 逻辑用APP_ENV设置启动ENVAPP_PORT设置--port参数默认8100
CMD ["sh", "-c", "env ENV=$APP_ENV /app/lessie-sourcing-api --port ${APP_PORT}"]