kompose/examples/web/Dockerfile

27 lines
669 B
Docker

FROM golang:1.21.2
# Debugging within the container
RUN apt-get update && apt-get install dnsutils redis-tools -y
# Set the working directory in the container
WORKDIR /app
# Copy the entire project which includes the public directory, vendoring, etc.
COPY . .
# Build your application
RUN CGO_ENABLED=0 GOOS=linux go build -o /frontend
# Change the permissions so that all users can execute it
RUN chmod +x /frontend
# Although setting permissions on /frontend should suffice, set wider permissions if needed
RUN chown -R 1001:0 /app && \
chmod -R g=u /app
# This directive ensures the container does not run as root
USER 1001
EXPOSE 8080
CMD ["/frontend"]