Во-первых, для внутреннего сервера и веб-клиента было бы неплохо иметь собственный Dockerfile / образ.Тогда было бы легко запустить их вместе, используя что-то вроде docker-compose
.
. Вы захотите предоставить переменные окружения для веб-Dockerfile, используя аргументы сборки.Аргументы сборки Docker доступны при создании образа Docker.Вы можете использовать их, указав ключ ARG
в Dockerfile или передав флаг --build-arg
docker build
.
Вот пример Dockerfile
для вашего веб-клиента на основе предоставленных вами данных:
FROM node:latest
ARG NODE_ENV=dev
COPY ./web /app/web
WORKDIR /app/web
RUN npm install \
&& npm run build
CMD ["npm", "run", "start"]
В следующем Dockerfile
используется директива ARG
для создания переменной со значением по умолчанию dev
.
Значение NODE_ENV
может быть переопределено при запуске docker build
.
Примерно так:
docker build -t <myimage> --build-arg NODE_ENV=production .
Независимо от того, переопределите ли вы егоили нет NODE_ENV
будет доступно для веб-пакета до его сборки.Это позволяет вам создавать один образ и распространять его среди множества людей, без необходимости создавать веб-клиент.
Надеюсь, это поможет вам.