Рейтинг:2

Docker-compose не может подключиться через socks-прокси к удаленному хосту SSH

флаг au

Я пытаюсь развернуть контейнеры, используя docker-compose на удаленный сервер через SSH.Доступ к удаленному серверу по SSH возможен только через SOCKS-прокси. я создал ~/.ssh/config с действительной конфигурацией SOCKS для этого:

Хост <мой.хост>
  Имя хоста <мой.хост>
  ProxyCommand socks-connect -S <socks-user>@<socks-host>:<socks-port> %h %p
  Порт <ssh-порт>
  Пользователь <ssh-пользователь>
  Идентификационный файл ~/.ssh/<ssh-ключ>

Эта конфигурация работает нормально: я могу подключиться через прокси, используя ssh <мой.хост> команда.

Затем я создал контекст Docker и протестировал его:

$ docker context create remote --docker "host=ssh://<my.host>"
$ докер --context=удаленный PS
<список запущенных контейнеров на удаленном хосте>

Но когда я пытаюсь использовать этот контекст с docker-compose, вылетает с ошибкой:

$ docker-compose --context=remote --verbose ps
ОШИБКА: получен ответ об ошибке от сервера SOCKS: 4 (хост недоступен)
FATAL: не удалось начать ретрансляцию через SOCKS
kex_exchange_identification: Соединение закрыто удаленным хостом

Кроме того, я пытался использовать DOCKER_HOST среду, но получил ту же ошибку: env DOCKER_HOST="ssh://<my-host>" docker-compose ps.

Так что похоже проблема в docker-compose потому что чистый докер команды работают корректно. В чем может быть проблема и как я могу исправить это поведение?

Версия клиента Docker: 20.10.7
Версия сервера Docker (удаленно): 19.03.12
Версия компоновки Docker: 1.29.2

Рейтинг:0
флаг cn

Похоже, метод ssh не проверял ~/.ssh/config, есть еще один способ перенаправить удаленный док-сервер на локальный порт tcp:

https://code.visualstudio.com/docs/remote/troubleshooting#_using-an-ssh-tunnel-to-connect-to-a-remote-docker-host

ssh -NL localhost:23750:/var/run/docker.sock user@имя хоста

Затем:

DOCKER_HOST="tcp://localhost:23750" сборка docker-compose

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.