morto
@morto
вечный ученик

Почему не видит конфиг файл в Docker?

Привет, с помощью viper беру из конфига данные. Локально все прекрасно работает, но когда запускаю в докере, то он не может его найти.
Error: Config File \"local\" Not Found in \"[/configs]\"

Dockerfile:
FROM registry.gitlab.com/gitlab-org/gitlab-build-images:golangci-lint-alpine as builder

WORKDIR /build
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -o auth ./cmd/main.go


# generate clean, final image for end users
FROM quay.io/jitesoft/alpine:3.11.3
COPY --from=builder /build/auth /chupapimunyanya/
COPY --from=builder /build/configs /chupapimunyanya/configs/
COPY --from=builder /build/db /chupapimunyanya/db/
# executable
ENTRYPOINT [ "/chupapimunyanya/app/auth" ]


Viper:
viper.AddConfigPath("configs")
	viper.SetConfigName("local")


Структура проекта:
auth/
--cmd/
----main.go
--configs/
----local.yml
  • Вопрос задан
  • 851 просмотр
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
Не силён в Go, но /configs явно путь от корня, а по факту путь /chupapimunyanya/configs/
Зайди в контейнер (docker exec -it имя_контейнера sh) и проверь, правильно ли размещены файлы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы