У вас есть демон Docker, прослушивающий адрес локального хоста, 127.0.0.1
. Вы не сможете подключиться к этому с удаленного хоста. Единственный хост, который может подключиться к этому адресу - это ... локальный хост.
Чтобы демон Docker мог принимать подключения от удаленных хостов, вам, вероятно, потребуется:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
То означает «прослушивать соединения со всех хостов». Но вы на самом деле не хотите этого, потому что это предоставит доступ к вашей системе без аутентификации root
любому, кто сможет подключиться к этому порту. Вы можете использовать iptables
для ограничения доступа только к определенным удаленным хостам, но это все еще проблема, потому что любой, кто сможет получить доступ к любому из этих хостов, будет иметь, опять же, неаутентифицированный root
доступ к вашему Docker host.
То, что вы действительно хотите сделать, - это прочитать " Protect Docker socket-daemon ", в котором обсуждается, как настроить на основе сертификатов аутентификация для удаленных подключений к демону Docker. В отличие от примеров в вашем вопросе, конфигурация, обсуждаемая в этом документе, требует, чтобы клиенты проходили аутентификацию с использованием SSL-сертификата.
Это намного более безопасно, чем разрешение доступа без аутентификации из любого места, и это несколько больше, чем разрешение доступа без аутентификации. из указанных c хостов (поскольку владение файловой системой и разрешения могут использоваться для ограничения доступа к закрытым ключам SSL, необходимым для предоставления доступа к демону docker).