Проверка связи с демоном Docker через API с помощью Powershell не удалась

Я пытаюсь проверить с одной машины в моей локальной сети через PowerShell, работает ли Docker Desktop Daemon (Win 10) на другом компьютере в моей локальной сети.

Я использую последнюю версию Docker Desktop (выпуск Edge):

Для моего тестирования я проверил опцию "Expose (yada yada yada)".

Когда я бегу:

Invoke-WebRequest -Method 'HEAD' "http://192.168.0.194:2375/v1.40/_ping"

Я получил:

Invoke-WebRequest: невозможно подключиться к удаленному серверу В строке:1 символ:1

  • Invoke-WebRequest -Method 'HEAD' "http://192.168.0.194:2375/v1.40/_pi...

  • CategoryInfo: InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException

  • FullyQualifiedErrorId: исключение WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

С помощью 'GET' приводит к тому же.

Я основываюсь на этой ссылке:

https://docs.docker.com/engine/api/v1.40/

Есть идеи?

1 ответ

Вы не можете сделать это так, как предлагаете, и вообще сделать сокет Docker доступным по сети (установить этот флажок) - действительно плохая идея.

Внимательно прочтите текст под флажком, который вы отметили (выделено мной):

Это также делает вас уязвимым для атак удаленного выполнения кода. Используйте с осторожностью.

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

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

Соответственно, опция флажка предназначена специально для предоставления доступа к демону Docker только для localhost. К нему нельзя получить удаленный доступ. Вам нужен какой-то другой механизм для удаленного аудита того, какое программное обеспечение работает в системе.

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