Как выполнить перенос с моего хоста на контейнер докеров?
Я запускаю 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 (но, поскольку вы не указали, я предполагаю, что это не так).