#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 и, возможно, утилит, что вы думаете?