Dockerfile 959 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # 简化的 Dockerfile - 仅用于运行已构建的二进制文件
  2. FROM alpine:latest
  3. # 安装必要的运行时依赖
  4. RUN apk add --no-cache ca-certificates
  5. # 创建非 root 用户
  6. RUN addgroup -g 1000 appuser && \
  7. adduser -D -u 1000 -G appuser appuser
  8. # 设置工作目录
  9. WORKDIR /app
  10. # 复制已构建的二进制文件(需要在构建镜像前先编译好)
  11. COPY license-admin .
  12. # 复制 web 静态文件
  13. COPY web ./web
  14. # 设置权限
  15. RUN chown -R appuser:appuser /app
  16. # 切换到非 root 用户
  17. USER appuser
  18. # 暴露端口
  19. EXPOSE 8080
  20. # 设置环境变量(MySQL 配置)
  21. ENV AUTH_TOKEN=admin-token-123456
  22. ENV PORT=8080
  23. ENV DB_HOST=mysql
  24. ENV DB_PORT=3306
  25. ENV DB_USER=root
  26. ENV DB_PASSWORD=password
  27. ENV DB_NAME=license_admin
  28. # 健康检查
  29. HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  30. CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1
  31. # 启动应用
  32. CMD ["./license-admin"]