💨

alpineイメージでgcsfuseを実装する

2023/08/02に公開4

gcsfuseとは

https://cloud.google.com/storage/docs/gcsfuse-mount?hl=ja

gcsfuseは、Google Cloud Storage(GCS)をローカルファイルシステムにマウントするためのツールです。これにより、GCS上に保存されているデータをローカルファイルシステムとしてアクセスできるようになります。

Dockerfile
FROM golang:1.20-alpine AS builder

WORKDIR /app

COPY . /app

RUN go mod download

RUN CGO_ENABLED=0 go build -o main /app/main.go

RUN apk add --update --no-cache ca-certificates fuse wget

RUN go install github.com/googlecloudplatform/gcsfuse@master

FROM alpine:3.18 AS deploy

WORKDIR /app

RUN mkdir gcs

COPY --from=builder /go/bin/gcsfuse /usr/bin

# ビルド用ステージからバイナリをコピー
COPY --from=builder /app/main .

CMD ["sh", "-c", "gcsfuse --implicit-dirs my-bucket ./gcs && ./main"]

Discussion