Мне это нужно, чтобы упростить настройку моего псевдонима drush, чтобы я мог установить серверы, переходы и имена пользователей / ключи в файле конфигурации и упростить все остальное.
Обновлять: Начиная с 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
, иначе он просто выведет стандартный вывод и не изменит файл.
Верно, но это проект, в котором не все используют ddev, и у каждого разработчика есть свои локальные окружения :)
Спасибо, что поделились этим! Возможно, будет проще поместить extra-config.txt в ваш проект и просто скопировать его оттуда, тогда вам не понадобится дополнительный docker-compose.volumes.yaml.