* Expects go get/go mod to be used to handle application dependencies * Expects users to use a volume mount to make code visible to the container * Add a user (with the option of having the same UID/GID as current user) to avoid weird file owners when building things in the container as golang usually runs as root
15 lines
435 B
Docker
15 lines
435 B
Docker
FROM golang:1.18
|
|
|
|
ARG uid=1000
|
|
ARG gid=1000
|
|
|
|
# Dockerfile with static deps that won't be changed. Right now there's no deps
|
|
# outside of what the go.mod file has to manage. Makes a user in the container
|
|
# with the same UID and GID as the current user so that the mounted directory
|
|
# doesn't end up with files with strange permissions.
|
|
|
|
RUN groupadd -g "${gid}" build && \
|
|
useradd -m -u "${uid}" -g "${gid}" build
|
|
|
|
USER build:build
|