У меня есть контейнер, который запускает приложение узла с тремя серверами: один сервер для общедоступных данных и два сервера webpack. По умолчанию они выполняются на портах 3000, 3001 и 3002, но все эти порты могут быть настроены.Контейнер для докеров с несколькими настраиваемыми портами
Кажется, что я смог бы запустить контейнер, как так:
docker run -p 3000:3003 -p 3001:3004 -p 3002:3005 -e 'APP_PORT=3003' \
-e 'NG_PORT=3004' -e 'RC_PORT=3005' --expose 3003 --expose 3004 --expose 3005 \
ajcrites/webf
Однако есть две проблемы с этим подходом:
- Там огромное количество избыточности
- Я хочу, чтобы порты по умолчанию использовались/были открыты, если ничего не указано.
Есть ли более простой способ выставить все настраиваемые порты независимо от того, были ли они изменены по умолчанию?
Опубликуйте этот комментарий на всякий случай. Возможно, это не то, что вы ищете (я не уверен, что хорошо понимаю, что вы ищете, если это не так, я извиняюсь), но есть опция ** - P **, которая автоматически назначает внешние порты для открытых портов. Плюс вы можете открыть порты, добавив директиву ** EXPOSE ** в файл докеров. – vmonteco
yoiu не нужно повторять '-p', вы можете указать несколько разных портов (без их смежных). – Auzias