#docker #visual-studio-code #docker-compose #dockerfile #vscode-devcontainer
Вопрос:
Я пытаюсь использовать «Node.js amp; Mongo DB» разработчик от Microsoft (https://github.com/microsoft/vscode-dev-containers/tree/main/containers/javascript-node-mongo/.devcontainer) с моим udp-сервером, созданным в Nodejs.
Проблема заключается в следующем: Когда я пытаюсь перенаправить порт в примере devcontainer.json : "forwardPorts": [1117]
.
Кажется, что он перенаправляет только 1117/tcp, когда я на самом деле хочу перенаправить 1117/udp.
Я пытаюсь сделать так, чтобы это работало для этого проекта : https://github.com/QuentinGruber/h1z1-server/blob/master/.devcontainer/devcontainer.json
Ответ №1:
Следуя документации, вы можете переслать протокол udp с помощью этой строки
docker run -p 53160:53160/udp docker/getting-started
Поэтому попробуйте добавить это в свой файл конфигурации, и это должно сработать.
Ссылки: сеть докеров
Ответ №2:
Документация довольно расплывчата в отношении протоколов, используемых для открытых портов с forwardPorts
тегом:
Переадресация
- массив
- Массив портов, которые должны быть перенаправлены из контейнера на локальную машину.
Из-за этого я бы рекомендовал попробовать использовать более старый appPort
тег, потому что, когда я посмотрел здесь, там говорилось, что они используют синтаксис docker-compose, что означает, что вы можете указать порты и протокол следующим образом:
докер-сочинение:
ports:
- "3000"
- "8921:5000"
разработчики.json:
"appPort": [ 3000, "8921:5000" ]
И в вашем случае:
"appPort": [ "1117:1117/udp" ]
Согласно документам, использование appPort
тега также полезно, когда вы хотите получить доступ к приложению (или предоставить доступ к портам) не только localhost