Добрый вечер уважаемые коллеги!
Планирую разделить проект на dev and prod
Немного почитав, в google.
Приглянулась статейка
Для этого создал 2 файла
docker-compose.yml
docker-compose.dev.yml
Два файла, с абсолютно одинаковой конфигурацией, за исключением некоторых параметров
Стек проекта
---------------------------------------
Database - MySQL percona
Front - Nuxt x2 (админка + сайт)
Back - php framework
nginx x3 (для админки, сайта и back end)
phpmyadmin
Проект уже сконфигурирован!
И мне уже нравится начало.
Но не хотелось бы плодить Dockerfile!FROM node:lts-alpine
RUN mkdir -p /nuxt-app/
WORKDIR /nuxt-app/
COPY ./package*.json /nuxt-app/
VOLUME . .
RUN npm install
RUN npm run build # При определённых условиях я не хочу что бы эта строчка выполнялась
CMD ["npm", "start"] # Вот эту строку планирую вынести наружу. dev or start
Вопрос!
Можно ли в Dockerfile выполнять условия?
Например:
docker-compose.dev.yml
# Nuxt publication
nuxt-public:
container_name: gorodbrand.nuxt_public
restart: always
build: ./nuxt_public
ports:
- 3200:3000
expose:
- 3000
environment:
- ENV_MODE=""
...
docker-compose.yml
# Nuxt publication
nuxt-public:
container_name: gorodbrand.nuxt_public
restart: always
build: ./nuxt_public
ports:
- 3200:3000
expose:
- 3000
environment:
- ENV_MODE="RUN npm run build"
...
FROM node:lts-alpine
...
RUN npm install
ENV_MODE
...
Или какие существуют практики разделения?
Поделитесь опытом.
Спасибо!