Да, большую часть того, что вы можете сделать с помощью скрипта .sh, можно сделать построением образа докера.Однако образы докеров часто следуют принципу единой ответчивости, поэтому я бы не совмещал FE и BE в одном изображении (если это два разных приложения), но вместо этого я бы сделал 2 разных, а затем использовал бы docker compose ,вы сможете управлять своим мультиконтейнерным приложением
давайте рассмотрим очень простой пример
Backend: (Dockerfile в каталоге сервера)
FROM node:xxx (use your development version)
WORKDIR /server
COPY . /server/
RUN npm run build
EXPOSE 3000
CMD npm start
Frontend: (Dockerfileв каталоге клиента)
FROM node:xxx (use your development version)
WORKDIR /client
COPY . /client/
RUN npm run build
EXPOSE 80
CMD npm start
docker compose (в родительском каталоге сервера и клиента
version: 3
services:
server:
build: ./server
container_name: server
ports:
- 3000:3000
client:
build: ./client
container_name: client
ports:
-80:80
, затем с помощью docker-compose up --build вы можете собирать и запускать свои контейнеры вв любой момент см. документацию по другим командам (остановка, уничтожение, удаление ecc)
ПРИМЕЧАНИЕ: я написал все «от руки», возможен опечатка или неправильный синтаксис. Извините, я исправлю!