Docker SDK для Golang не может подключиться к демону внутри оверлейной сети

У меня есть рой докеров и контейнер внутри оверлейной сети в этом рое. Контейнер имеет приложение, написанное на golang, которое взаимодействует с Docker API путем создания контейнера и его запуска. Когда я запускаю мое приложение golang на хост-компьютере, все работает отлично, и он создает и запускает контейнер без проблем. Однако, когда я помещаю приложение в контейнер и запускаю его в своей оверлейной сети, оно больше не может получить доступ к API.

Я предполагаю, что это как-то связано с сетью, но идея моего проекта заключается в том, что есть несколько сервисов, каждый со своими сетями, которые могут создавать, запускать и удалять контейнеры, которые они считают нужными. НЕ запускать SDK в приложении за пределами оверлейных сетей, к сожалению, пока нельзя.

Ошибка: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

1 ответ

Ваше приложение пытается получить доступ к сокету Docker, но это не доступно по умолчанию в контейнере.

Вы можете смонтировать его как том с хоста:-v /var/run/docker.sock:/var/run/docker.sock

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