Я новичок в Docker, и мне сложно установить контейнер докеров, как я хочу. У меня приложение nodejs может принимать два параметра при запуске. Например, я могу использовать
node server.js 0 dev
или
node server.js 1 prod
для переключения между режимом работы и режимом dev и определить, нужно ли включить кластер. Теперь я хочу создать изображение докеров с аргументами, чтобы сделать подобное, единственное, что я могу сделать до сих пор, - настроить Dockerfile на строку
CMD [ "node", "server.js", "0", "dev"]
и
docker build -t me/app .
, чтобы построить докер.
Затем docker run -p 9000:9000 -d me/app
для запуска докера.
Но если я хочу перейти в режим prod, мне нужно изменить Dockerfile CMD на
CMD [ "node", "server.js", "1", "prod"]
,
и мне нужно убить старого, прослушивающего порт 9000, и перестроить изображение. Хотел бы я иметь что-то вроде
docker run -p 9000:9000 environment=dev cluster=0 -d me/app
чтобы создать образ и запустить команду nodejs с аргументами "среда" и "кластер", поэтому мне больше не нужно менять файл Docker и перестраивать докеры. Как я могу это сделать?