我有一个具有这种结构的应用程序。
/path/releases
/path/releases/01012016
/path/releases/16012016
/path/releases/etc..
和
/path/dev
(某些版本的符号链接(symbolic link))/path/stag
(某些版本的符号链接(symbolic link))/path/stable
(符号链接(symbolic link)到一些 版本)
我的 docker-compose.yml 看起来像这样:
nginx:
...
volumes_from:
- data
php:
...
volumes_from:
- data
data:
volumes:
- /path/stable:/var/www
我知道 Docker 会解析符号链接(symbolic link)。我想在部署之前我只是重新创建 数据容器,没关系。但事实并非如此。
我必须重新创建所有从数据容器中获取卷的容器。
知道如何让它变得更好吗,我的意思是更好的自动化?删除符号链接(symbolic link)并将最新版本放入 docker-compose
?将父文件夹标记为卷并通过相对符号链接(symbolic link)解析它?或任何其他解决方案。
哪种解决方案最适合您。最佳做法是什么。
谢谢。菲利克斯
最佳答案
如果您只是想让它更自动化,可以使用 docker-compose up --force-recreate
在一个 docker-compose.yml 中重新创建所有容器。
另一个解决方案是:
/path:/var
…然后 ln -s/path/releases/06012016/path/www
当你想改变的时候。
我不太喜欢这个解决方案,因为它会将您的所有版本都暴露在您的容器中。我宁愿选择完全重启 --force-recreate。
关于php - Docker Compose - 部署中的符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35080224/