Next.js — Переменные Docker env не принимаются

#docker #next.js

#docker #next.js

Вопрос:

Я использую Next.js и пытаюсь настроить мое приложение — однако переменные среды извлекаются из моего файла docker-compose, как и ожидалось. Я продолжаю видеть undefined , несмотря на то, что они добавлены NEXT_PUBLIC_ .

Я обнаружил, что если я скопирую файл .env, он работает так, как ожидалось.

Любые идеи, что здесь происходит и как я могу на самом деле определить их в моем файле docker-compose, который (упрощенный) в настоящее время выглядит так:

 version: '3.4'

services:
  front:
    image: mywork
    environment:
        NEXT_PUBLIC_API: 'http://localhost:8080'
    ports:
      - 3000:3000
    command: ["npm", "run", "start"]
 

Допустимо ли просто иметь файл .env в образе docker? Я читал, что это не очень хорошая идея. Итак, что next.js обходной путь здесь?

Спасибо.

Ответ №1:

Я думаю, что формат среды должен быть

 front:
  environment:
    - NEXT_PUBLIC_API=http://localhost:8080