Idea – подключение к Docker в Windows WSL2

Небольшая памятка для себя. Понадобилось воспользоваться докером в Windows 10. При этом – уже установлена Ubuntu внутри WSL2. То есть – ставить сверху ещё и графический Docker Desktop, поднимающий свои контейнеры в отдельных виртуалках WSL, особой необходимости нет. Управлять контейнерами можно прямо из Idea.
Небольшое неудобство возникло с тем, что Docker плагин в idea (под Win) поддерживает Docker for Windows, но не умеет напрямую работать с докером внутри WSL. Вариантов несколько, среди них – подключение через tcp socket или через ssh.
Против tcp socket возникли два аргумента – сложнее настроить (чтобы просто пара настроек – и заработало – такого не произошло, пришлось повозиться); кроме того – руководство Docker не рекомендует пользоваться им из-за наличия потенциальной уязвимости.
Остановился на ssh – это проще, и в целом удовлетворяет моим потребностям.

Настройка доступа к Docker в WSL2 через ssh

  • Убедиться, что установлен ssh сервер (при необходимости – установить): apt search openssh-server
  • Разрешить подключения к серверу – отредактировать sshd_config (sudoedit /etc/ssh/sshd_config). Минимально необходимое – указать порт для подключения и способ аунтефикации (пример настроек: Port 22, PasswordAuthentication yes)
  • Перезапустить ssh сервер: sudo service ssh restart
  • И проверить возможность подключения: ssh dimio@localhost
  • Наконец – запустить сам docker (настройки демона лежат в /etc/docker/daemon.json): sudo service docker start
  • Убедиться в работоспособности: docker ps

Настройка Idea для подключения к Docker через ssh

  • Перейти в Настройки (Ctrl+Alt+S) -> Build, Execution, Deployment -> Docker
  • Создать новое подключение к Docker, тип соединения с демоном – SSH
    Idea add Docker connection
  • Добавить конфигурацию SSH для подключения к WSL2, проверить подключение
    docker-wsl2-ssh-connect

Управление контейнерами Docker из Idea

На этом всё – теперь можно удобно взаимодействовать с контейнерами прямо из Idea (вкладка Services)
Docker в IDEA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *