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 не будет опубликован. Обязательные поля помечены *