Мне это нужно, чтобы упростить конфигурацию псевдонима drush, чтобы я мог устанавливать серверы, переходы и имена пользователей / ключи в файле конфигурации, а все остальное упростить.
Как изменить существующий файл конфигурации, такой как .ssh / config, внутри контейнера на ddev
Ответы (1)
Обновление. Начиная с ddev 1.10 эта операция стала еще проще, как описано на https://ddev.readthedocs.io/en/stable/users/extend/in-container-configuration/.
Чтобы изменить /home/.ssh/config
, вам просто нужно добавить файл .ssh/config
в папку .ddev/homeaditions
и обязательно включить следующие строки:
UserKnownHostsFile=/home/.ssh-agent/known_hosts
StrictHostKeyChecking=no
- Следующее действительно только для ddev ‹1.10 -
Это решение, которое я реализовал:
Поскольку я не хотел обрабатывать многострочные добавления, я решил добавить файл конфигурации, который будет добавлен к файлу /home/.ssh/config
.
Я добавил настраиваемый файл компоновки докеров в папку .ddev: docker-compose.volumes.yml
:
version: '3.6'
services:
web:
volumes:
- "./config:/etc/custom-config"
Затем создал папку config внутри папки .ddev и добавил файл конфигурации с нужным мне содержимым: extra-config.txt
Затем просто добавил пост-пусковой крючок в файл config.yml
, как предложил @rfay:
hooks:
post-start:
- exec: bash -c 'cat /etc/custom-config/extra-config.txt >> /home/.ssh/config'
Остерегайтесь, потому что команды должны быть обернуты в bash -c
, иначе он просто выведет стандартный вывод, а не изменит файл.