#node.js #docker #dockerfile #environment-variables
#node.js #докер #докерфайл #переменные среды
Вопрос:
Я создаю образ для своего проекта узла. Мне нужно определить конечную точку API во время сборки, чтобы приложение могло адаптироваться к нескольким средам.
Поэтому я намерен использовать build-arg
для этого заявление.
Мой док-файл выглядит так:
FROM node:10.24.1-slim as base WORKDIR /app RUN apt update -y amp;amp; apt install -y some-packages COPY package.json package-lock.json ./ ARG API_URI_ARG ENV API_URI $API_URI_ARG RUN npm ci COPY . . RUN npm run build
и команда сборки:
DOCKER_BUILDKIT=1 docker build --build-arg API_URI_ARG=https://myapi.example.com --tag mynodeapp .
но это приводит к сбою со следующим выводом ошибки:
/app/node_modules/webpack-cli/bin/cli.js:244 throw err; ^ Error: Environment variable API_URI not set
Я даже пытался RUN API_URI=$API_URI_ARG npm run build
, но все равно ничего не вышло.