1
0
mirror of https://github.com/alexandrev/xslt-lab.git synced 2026-09-20 04:23:16 +00:00
Files
xslt-lab/backend/Dockerfile
T

38 lines
864 B
Docker

# Etapa de build
FROM golang:1.21-alpine AS builder
# Instalar dependencias necesarias
RUN apk add --no-cache git
# Establecer directorio de trabajo
WORKDIR /app/src
# Copiar los archivos
COPY src/ .
# Compilar el binario estático
RUN go mod init xslt-playground && \
go get github.com/gin-gonic/gin && \
go build -o server .
# Etapa final (runtime)
FROM alpine:latest
# Instalar Java (para Saxon)
RUN apk add --no-cache openjdk17-jre curl
# Crear directorio de trabajo
WORKDIR /app
# Copiar binario y configuración
COPY --from=builder /app/src/server .
COPY src/app.config .
# Crear carpeta para Saxon y descargarlo
RUN mkdir -p /opt/saxon && \
curl -L -o /opt/saxon/saxon-he.jar https://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE/11.6/Saxon-HE-11.6.jar
# Exponer el puerto por defecto y ejecutar el binario
EXPOSE 8000
CMD ["./server"]