
Я пытаюсь настроить среду разработки на основе Visual Studio Code. Цель — написать и отладить код Python, который выполняется в удаленном контейнере Docker.
Вот что я сделал: я установил Visual Studio Code Insiders, расширение Python и расширение Remote Development (3 расширения в 1), настроил SSH как на удаленном компьютере (на котором установлен Linux, и для которого я являюсь sudoer), так и на моем (на котором установлен Windows). Так что теперь я могу подключиться к этому удаленному компьютеру через SSH и выполнить на нем код Python. Эти функции уже невероятны, но мне нужно больше.
На этой удаленной машине запущена служба Docker, и я хотел бы иметь возможность выполнять код Python с помощью интерпретатора Python внутри некоторого контейнера Docker, а не с помощью интерпретатора Python удаленного компьютера. Поэтому я загрузил расширение Docker не на свой компьютер, а на удаленный компьютер (что было предложено Visual Studio Code), а затем изменил файл settings.json на:
{
"remote.extensionKind": {
"peterjausovec.vscode-docker": "workspace"
}
}
согласно тому, что указаноздесь, раздел Ограничения расширения Docker. Затем, нажав кнопку Docker слева, я вижу список всех контейнеров, запущенных на удаленном компьютере, это действительно здорово.
Но когда я пытаюсь прикрепить Visual Studio Code к одному из этих контейнеров, он не может найти Docker daemon. После прочтения документации Docker daemonздесь, я перезапустил демон Docker с опцией -H tcp://0.0.0.0:22
или -H tcp://0.0.0.0:2375
для того, чтобы демон мог прослушивать запросы, сделанные удаленно с моего компьютера. Первый вариант вообще не сработал (демон не запустился), второй работает (демон запустился). Однако я все еще не могу прикрепить Visual Studio Code к своему контейнеру (Visual Studio Code все еще не может найти демон).
Любая помощь будет высоко оценена!
решение1
Проблема была в том, что у меня была старая версия Docker, а мне нужна была версия 18.09 для включения SSH-связи с демоном Docker.