add docker compose
This commit is contained in:
32
Dockerfile
Normal file
32
Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# 1. Этап сборки (Builder)
|
||||||
|
FROM golang:1.26-alpine AS builder
|
||||||
|
|
||||||
|
RUN apk add --no-cache git ca-certificates
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ENV GOPRIVATE=git.lendry.ru/*
|
||||||
|
|
||||||
|
# Принимаем токен из docker-compose (который взял его из .env)
|
||||||
|
ARG GIT_TOKEN
|
||||||
|
RUN git config --global url."https://lendry:${GIT_TOKEN}@git.lendry.ru/".insteadOf "https://git.lendry.ru/"
|
||||||
|
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -o media-service ./cmd
|
||||||
|
|
||||||
|
# 2. Финальный образ (Production)
|
||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
RUN apk --no-cache add ca-certificates tzdata
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=builder /app/media-service .
|
||||||
|
|
||||||
|
EXPOSE 50059
|
||||||
|
|
||||||
|
CMD ["./media-service"]
|
||||||
19
docker-compose.yml
Normal file
19
docker-compose.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
services:
|
||||||
|
media-service:
|
||||||
|
container_name: media-service
|
||||||
|
image: lendry/media-service:dev
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
# Docker Compose сам найдет GIT_TOKEN в файле .env и вставит его сюда
|
||||||
|
- GIT_TOKEN=${GIT_TOKEN}
|
||||||
|
restart: always
|
||||||
|
env_file:
|
||||||
|
- .env # А это прокидывает все остальные переменные (S3_BUCKET и т.д.) внутрь контейнера для работы Go
|
||||||
|
networks:
|
||||||
|
- erp-networks
|
||||||
|
|
||||||
|
networks:
|
||||||
|
erp-networks:
|
||||||
|
external: true
|
||||||
Reference in New Issue
Block a user