Переадресация сокетов Docker

Используйте SSH-туннель Secure Pipes для доступа к удаленному сокету Docker с вашего Mac или к локальному сокету с удаленного хоста.

Перед выполнением

Доступ к сокету Docker предоставляет мощный контроль над хостом Docker, часто эквивалентный доступу администратора. Используйте только адреса обратной связи, никогда не предоставляйте прослушивателю доступ к ненадежной сети и останавливайте туннель после использования. Другие пользователи и процессы на машине-прослушивателе также могут получить доступ к неаутентифицированному локальному порту. Пользователь SSH должен иметь разрешение на доступ к соответствующему сокету; SSH-сервер должен разрешить соответствующую пересылку. Не ослабляйте разрешения сокетов, чтобы это работало.

Примеры

Предварительные требования: установите Docker CLI, в котором вы запускаете тест, и убедитесь, что целевой демон Docker запущен. На Mac проверьте текущий контекст Docker; путь к сокету Unix должен быть абсолютным. Удаленные контексты не являются локальными сокетами.

docker context inspect --format '{{.Endpoints.docker.Host}}'

Локальная переадресация: в разделе «Безопасные каналы» выберите «Локальная переадресация», установите локальную конечную точку на 127.0.0.1:8888 и выберите «Удаленный сокет Unix» с /var/run/docker.sock. Подключитесь к удаленному хосту Ubuntu, затем запустите эту команду на Mac.

docker -H tcp://127.0.0.1:8888 ps

Чтобы найти сокет Mac для удаленной пересылки, проверьте контекст Docker на Mac. Например, OrbStack может сообщить unix:///Users/yourname/.orbstack/run/docker.sock; используйте свой фактический абсолютный путь.

docker context inspect --format '{{.Endpoints.docker.Host}}'

Удаленная переадресация: в Secure Pipes выберите «Удаленная пересылка», установите удаленную конечную точку на 127.0.0.1:8888 и выберите «Локальный сокет Unix» с путем к сокету Mac. После подключения запустите эту команду на удаленном хосте.

docker -H tcp://127.0.0.1:8888 ps

Альтернативно, установите DOCKER_HOST только для одной команды. Это не меняет текущую оболочку или сохраненный контекст Docker.

DOCKER_HOST=tcp://127.0.0.1:8888 docker ps

Официальные источники

Проверено 27 октября 2026 г.