Отказано В Соединении С Сокетом Unix В Контейнере Docker С Хоста

  • Автор темы Алексей Тихомиров
  • Обновлено
  • 22, Oct 2024
  • #1

У меня есть служба, работающая в Docker, которая прослушивает доменное сокет Unix, и клиент, работающий на хосте Docker (Mac). Клиент получает ошибку «Соединение отклонено» при попытке подключения.

Я сопоставляю том, когда запускаю сервер (docker run -it -v /localpath:/var/run myservice), и я прекрасно вижу файл сокета, созданный в локальном каталоге.

Это работает нормально, если я также запускаю клиент в Docker (другой экземпляр контейнера) или запускаю оба локально. Но если я запущу одну сторону в Docker, а другую локально, произойдет сбой (я пробовал в обоих направлениях). Я думал, что это может быть несоответствие uid/gid, но это выглядит нормально, и если я заставлю их отличаться, я получу ошибку отказа в доступе.

Мое приложение использует UnixDomainSocketAddress Java 16, но я также протестировал скрипт Python (с использованием сокета AF_UNIX) и увидел ту же проблему, так что это похоже на Docker. Есть идеи?

#докер

Алексей Тихомиров


Рег
28 Oct, 2020

Тем
91

Постов
184

Баллов
659
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно