Как выполнить перенос с моего хоста на контейнер докеров?

Я запускаю netmaker, который представляет собой сервис wireguard mesh VPN в контейнере Docker, и мне нужно, чтобы порт 9981 был доступен из контейнера Docker, чтобы я мог получить доступ к порту 9981 через мою глобальную сеть Wireguard.

Порт 9981 открыт на VPS, на котором размещен Netmaker, но недоступен из контейнера Docker. Я безуспешно пытался понять это правильно, и теперь я в своем уме.

Мне посоветовали добавить эту строку в мой файл контейнера докеров, который только что вызывал ошибку за ошибкой -

      PORT_FORWARD_SERVICES="127.0.0.1:9981:9981"

Пожалуйста, может кто-нибудь помочь.

1 ответ

Вы пробовали документацию Docker ? Переадресация портов — довольно стандартная функция в Docker.

В обычном синтаксисе CLI вы добавляете:

      -p <host-port>:<container-port>

Это пример команды, которая сопоставляет порт 443:

      docker run -d \
  --name=nextcloud \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -p 443:443 \
  -v /path/to/appdata:/config \
  -v /path/to/data:/data \
  --restart unless-stopped \
  lscr.io/linuxserver/nextcloud:latest

Итак, вам нужно добавить -p 9981:9981к команде, которую вы используете для запуска контейнера.

Существует также аналогичный синтаксис, если вы используете Docker Compose (но, поскольку вы не указали, я предполагаю, что это не так).

Другие вопросы по тегам