Как переместить проект DDEV, который был перемещен в другой каталог? - PullRequest
0 голосов
/ 09 января 2019

Сценарий

  • Проект DDEV был перемещен с /home/old-path/project-name на /home/new-path/project-name
  • выполнение ddev start в новом месте показывает следующую ошибку

Невозможно получить проект (ы): stat / home / old-path / project-name: нет такого файл или каталог

Вопрос

Какие шаги необходимы для того, чтобы «переместить» каталог и снова запустить и запустить DDEV?

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Анализ

Поскольку 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
0 голосов
/ 09 января 2019

Пожалуйста, ddev rm -a, чтобы остановить все запущенные или остановленные проекты, затем ddev start в новом каталоге. Единственное, что я могу догадаться, это то, что проект остановлен в старом каталоге. Для проектов ddev перемещение не требуется, кроме полного пути в запущенных или остановленных контейнерах, нет сведений о каталоге, в котором они живут.

...