Mac uses low group IDs for the default user, which would cause groupadd to fail as the group already existed. Only make a new group if it doesn't already exist. This does raise other questions though as now we are technically having the container run with a "services" group.
15 lines
478 B
Docker
15 lines
478 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 if [ ! $(getent group ${gid}) ]; then groupadd -g "${gid}" build; fi && \
|
|
useradd -m -u "${uid}" -g "${gid}" build
|
|
|
|
USER build:${gid}
|