如何重新定位已移动到其他目录的DDEV项目?

时间:2019-01-09 17:44:08

标签: docker ddev

场景

  • DDEV项目已从/home/old-path/project-name移至/home/new-path/project-name
  • 在新位置执行ddev start会显示以下错误
  

无法获得项目:stat / home / old-path / project-name:否这样   文件或目录

问题

需要哪些步骤才能“重新定位”目录并使DDEV重新启动并运行?

4 个答案:

答案 0 :(得分:1)

ddev rm -a停止所有正在运行或已停止的项目,然后在新目录中ddev start。我唯一能猜到的是该项目在旧目录中 stopped 。 ddev项目不需要重定位,除了正在运行或已停止的容器中的完整路径之外,也不知道它们所在的目录。

答案 1 :(得分:1)

有一个名为global_config.yaml的文件位于您用户的主.ddev文件夹中 (在我的Windows计算机上是C:\Users\username\.ddev)。

在此文件中,您将找到project_info:部分,其中列出了您的项目及其路径。如果您移动了项目文件,则可以在此处输入新路径。

如果您将文件移动到另一个磁盘,则还必须转到docker Settings>Resources>File Sharing,并确保在此处启用了新磁盘并且将cab绑定安装。

答案 2 :(得分:0)

分析

由于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 start在新目录中启动DDEV了...

摘要

鉴于DDEV项目被命名为project-name ...

docker rm ddev-project-name-web
cd /home/new-path/project-name
ddev start

答案 3 :(得分:0)

使用 ddev rm后,也请使用 ddev rm --unlist 不确定是否是CLI的最新添加内容