Dockerfile'da özel Docker deposuyla çalışmak için bu örneği kullanabilirsiniz.


GitHub token


Bir GitHub belirteci oluşturun ve bunu yerel ortamınızda ayarlayın. Örneğin, bash profil dosyanıza export GITHUB_TOKEN=ghp_adsa543HG5678zae39gds435879fhg ekleyin.


Dockerfile


FROM golang:1.20.2-alpine3.17 as build
WORKDIR /source
COPY . .

ARG GITHUB_TOKEN
RUN apk add --no-cache git
RUN git config --global url."https://${GITHUB_TOKEN}:@github.com/".insteadOf "https://github.com/"

RUN go mod verify
RUN CGO_ENABLED=0 go build -ldflags "-s -w" -o ./bin/app ./cmd/app/...

FROM alpine:3.17
RUN addgroup -S -g 1000 app-group
RUN adduser -S -u 1000 app-user app-group
USER app-user:app-group
COPY --from=build /source/bin/app /bin/app
EXPOSE 8001
ENTRYPOINT ./bin/app

Bu, özel bir kullanıcı ve grup için başka bir sürümdür.


FROM golang:1.19.3-buster as build
...

FROM debian:buster-20221114-slim
RUN addgroup --system --gid 1000 blog-group
RUN adduser --system --gid 1000 --uid 1000 blog-user
USER blog-user:blog-group
...

docker-compose.yaml


args özelliğine GITHUB_TOKEN: "${GITHUB_TOKEN}" eklemeniz gerekiyor. Bundan sonra, docker-compose komutlarını sorunsuz çalıştırabilmelisiniz.