Docker и SSH для разработки с помощью PhpStorm

#docker #ssh #docker-compose #dockerfile

#docker #ssh #docker-compose #dockerfile

Вопрос:

Я пытаюсь настроить небольшую среду разработки с помощью Docker. Команда PhpStorm усердно работает над интеграцией Docker для удаленного интерпретатора и, следовательно, для отладки, но, к сожалению, пока не работает (см. Здесь ). Единственный способ, которым я должен добавить такие возможности для отладки, — это создать и включить SSH-доступ к контейнеру, который работает как шарм.

Теперь я много читал об этом, и некоторые люди, подобные тому, что написано в этом сообщении, говорят, что это не рекомендуется. Я читал другие, в которых говорится, что у меня есть выделенный контейнер SSH Docker, который я не понимаю, как приспособить к этой среде.

Я уже создаю пользователя docker-user (проверьте репозиторий здесь) для определенных задач, таких как запуск composer без прав root. Это можно было бы легко использовать для этого SSH, добавив к нему пароль по умолчанию.

Как бы вы справились с этим при таких обстоятельствах?

Ответ №1:

Я тоже внедрил обходной путь ssh-сервера при использовании IDE jetbrains.

Обычно я добавляю открытый ключ ssh в ~/.ssh/authorized_keys файл для пользователя SSH в целевом контейнере / системе и включаю sudo без пароля.

Одним из решений, о котором я думал, но еще не было времени для реализации, было бы создание какой-то службы SSH, которая была бы шлюзом для docker exec команды. Это потенциально позволило бы использовать хотя бы некоторые функциональные возможности без необходимости каким-либо образом изменять ваши изображения для этого требования разработчика.

Комментарии:

1. Я не понимаю вас в этом «создайте какую-то службу SSH, которая была бы шлюзом для команды docker exec», я не уверен, что вы пытаетесь мне показать

2. по сути, идея состоит в том, чтобы создать службу ssh, которая вместо того, чтобы отправлять вас в обычную оболочку, вместо этого отправляла бы вас в docker exec сеанс. Вероятно, его можно заставить работать с какой-нибудь причудливой конфигурацией ssh-демона — это просто концепция высокого уровня, которую я еще не пробовал. Я подумал, что, возможно, стоит упомянуть, поскольку вы пытаетесь решить то же самое, что и я, когда я думал об этом, но это, конечно, не единственный возможный путь вперед.

3. Для меня это продвинутый материал. Я изучаю Docker на пути. На данный момент я попытаюсь сделать SSH доступным в контейнере, хотя я никогда не буду пытаться использовать SSH в контейнере, для этого у нас есть docker exec , и docker attach этот SSH-доступ предназначен только для установки интерпретатора PHP PhpStorm и, возможно, утилит, что вы думаете?