我正在做一些本地WP开发。每次我做出更改(比如添加插件)
并运行:docker-compose up -d && docker-compose logs -f wordpress
它会创建一个新的数据库,并且插件会随着任何更改而被删除很长时间。我可以每次都使用一体化迁移插件导出.wp
文件,然后重新导入,但有什么更好的方式?
答案 0 :(得分:0)
在docker-compose.yml中尝试top-level volume。无论您的后端服务被docker-compose重新启动/重建/销毁多少次,您都可以使用卷来保存文件系统级别的后端数据。
答案 1 :(得分:0)
如果要保留任何数据,则可以将这些数据装入卷中。可以从documentation了解docker中卷的使用情况。对于wordpress,您可以在容器的/var/www/html/
中安装主机目录。以下卷配置应该可以帮助您。
volumes:
- ./html/:/var/www/html/
提示1:如果您想在图像中安装很少的东西,请先在dockerfile中安装并创建自己的自定义图像。 Build应该可以帮助您在docker-compose.yml
中使用dockerfile。
提示2:为了让您更好地了解如何在docker中进行本地开发,我建议您使用dockerfile来实现此目的。
在dockerfile中,您可以使用RUN
命令安装任何内容。每个RUN命令的输出都存储在 cache 中。因此,一旦您成功构建了映像,那么下一个RUN
命令将不会被执行,而是将使用它的缓存。
答案 2 :(得分:0)
在服务卷下您可以使用以下语法:
host:container
示例:
wordpress:
volumes:
-../html:/var/www/html
指定绝对路径映射
/opt/data:/var/lib/mysql
主机上的路径,相对于Compose文件
./cache:/tmp/cache
用户相对路径
~/configs:/etc/configs/:ro
命名卷
datavolume:/var/lib/mysql