我已经使用DDEV了几天,这很棒。
但是我发现如果我运行ddev ssh
以ssh进入容器,并通过npm / aptitude
等安装软件包,或者如果我在~/
主目录中创建新文件,有时当我ddev stop > ddev start
或ddev restart
时,这些软件包/文件会被删除/重置。
并非总是发生,只是有时。我已经将其重新启动了很多次,并且无法确定何时擦除包/文件以及何时不擦除它们。
我已经浏览了配置文件,文档和github问题队列,但找不到任何相关信息。我在装有Homebrew的Mac上运行ddev
。我拥有最新版本的Docker和Docker Compose。
我的问题是:如何做到这一点,以便我重新启动ddev
时安装的软件包/文件能够持久保存?
非常感谢。
最佳答案
当您只是ddev ssh
并安装时,重新创建或rm容器将丢弃所有内容。
编辑:从ddev v1.8.0开始,您只能使用webimage_additional_packages: [php7.1-ldap]
,请参阅docs
原始方法:
从docs尝试这个启动后挂钩示例。这种通用方法应该能很好地工作。
hooks:
post-start:
# Install php modules and then tell php-fpm to reload
- exec: "sudo apt-get update && sudo apt-get install -y php7.1-ldap php7.1-tidy && killall -HUP php-fpm"
关于docker - 有时会在ddev重新启动(或ddev停止,启动)时重置已安装的软件包和/home/*文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53771944/