Назад | Перейти на главную страницу

Перенаправление порта в docker-compose без необходимости открывать SSH-соединение с указанным параметром -L

Я слежу этот руководство по началу работы с Kubernetes с использованием контейнеров Docker, которое является разновидностью этот официальное руководство изменено для использования docker-compose.

Мне удалось дойти до перечисления узлов, используя

kubectl get nodes

но я могу это сделать, только если у меня открыто SSH-соединение с контейнером в другом окне, открытом с помощью

docker-machine ssh docker-vm -L 8080:localhost:8080

Это довольно неприятно, и я хотел бы справиться с этим в docker-compose.yml, но я не знаю как

Я пробовал использовать ports и expose опции в iml файле, но они не работают. Когда я пытаюсь перенаправить / открыть порт 8080 и получить узлы, используя приведенный выше kubectl команду, я получаю следующую ошибку:

error: couldn't read version from server: Get http://localhost:8080/api: EOF

Я использовал docker-compose.yml по первой ссылке вверху, и внесли следующие изменения:

aipserver:
ports:
  - "8080:8080"
expose:
  - "8080"

Я пробовал это на всех контейнерах, указанных в docker-compose.yml, но проблема не устранена.

Как я могу использовать docker-compose.yml пересылать / открывать порты в моих контейнерах без необходимости открывать SSH-соединение с -L опция указана.

Сервер API доступен в хост-сети на 127.0.0.1:8080

Если вы хотите выставить его на докер-машине vm, вам нужно изменить флаг --address на --address = 0.0.0.0: 8080 вместо --address = 127.0.0.1: 8080

Это отобразит его на адресе виртуальной машины на вашем компьютере (например, 1.2.3.4)

Если у вас правильно настроена переадресация портов виртуального ящика, это также сделает его доступным на localhost: 8080 на вашем компьютере.