我正在寻找一种在Docker容器之间共享文件/文件夹的方法。特别是共享文件给我带来了问题。我想在docker-compose的生产环境中使用Docker,并使用一种使我的停机时间为零的部署技术(例如绿色/蓝色或其他东西)。
到目前为止,我要通过首先签出git source来部署新的源代码。我保持旧容器运行,直到新容器启动为止。然后我停止旧的并将其删除。
我遇到的共享文件问题是Docker不锁定文件。因此,当两个具有相同应用程序的容器启动并写入相同的文件shared_database.db时,这将导致数据损坏。
从根目录开始的文件夹结构如下:
/packages (git source)
/www (git source)
/shared_database.db (file I want to share across different deployments)
/www/public/files (folder i want to share across different deployments)
我尝试过:
如果我想让自己更清楚或者需要提供更多信息,我将很高兴。让我知道。