Анализ
Поскольку DDEV обрисовал правильное старое имя пути, оно также должно храниться где-то. Я проанализировал каталог ~/.ddev/project-name/
, но не смог найти там указатель на старое имя пути. Кажется, эта информация хранится в каком-то другом месте.
Контейнеры Docker
Выполнение docker ps -a | grep project-name
показывает следующее:
1f4eb31fc94e drud/ddev-webserver:v1.3.0 "/start.sh" 2 months ago Exited (0) 2 months ago ddev-project-name-web
052ecb7c3e1b drud/phpmyadmin:v1.3.0 "/run.sh phpmyadmin" 2 months ago Exited (0) 2 months ago ddev-project-name-dba
b9d71147a54f drud/ddev-dbserver:v1.3.0 "/docker-entrypoint.…" 2 months ago Exited (0) 2 months ago ddev-project-name-db
И выполнение docker inspect ddev-project-name-web | grep '/home/old-path/project-name'
показывает дополнительную информацию:
"/home/old-path/project-name/.ddev:/mnt/ddev_config:ro",
"/home/old-path/project-name:/var/www/html:cached"
"Source": "/home/old-path/project-name/.ddev",
"Source": "/home/old-path/project-name",
"com.ddev.approot": "/home/old-path/project-name",
Бинго! Старый путь хранится в контейнерах Docker. И поскольку мои (ценные) источники монтируются только в этот контейнер Docker, кажется безопасным удалить этот контейнер, выполнив docker rm ddev-project-name-web
. Повторный запуск DDEV в новом каталоге с использованием ddev start
теперь работает снова ...
Краткое описание
Учитывая, что проект DDEV называется project-name
...
docker rm ddev-project-name-web
cd /home/new-path/project-name
ddev start