Docker Compose - 部署中的符号链接

3

我有一个这样的应用程序结构。

  • /path/releases
  • /path/releases/01012016
  • /path/releases/16012016
  • /path/releases/etc..

还有

  • /path/dev(指向某个版本的符号链接)
  • /path/stag(指向某个版本的符号链接)
  • /path/stable(指向某个版本的符号链接)

我的docker-compose.yml看起来像这样:

nginx:
    ...
    volumes_from:
      - data

php:
    ...
    volumes_from:
      - data

data:
    volumes:
      - /path/stable:/var/www

我知道Docker可以解析符号链接。在部署之前,我曾经想过只重新创建数据容器就行了。但是这样并不可行。
我必须重新创建所有从数据容器中获取卷的容器。
你是否有更好的自动化方法呢?例如删除符号链接并将最新版本更新到docker-compose中? 或者将父文件夹标记为卷并通过相对符号链接解决它? 还是其他的解决方案?
哪种解决方案最好?哪种做法是最佳实践?
谢谢!Felix
1个回答

2
如果您想让它更加自动化,可以使用 docker-compose up --force-recreate 命令在一个 docker-compose.yml 文件中重新创建所有容器。
另一种解决方案是:
/path:/var

当你需要更改时,可以使用以下命令:ln -s /path/releases/06012016 /path/www

我不是很喜欢这种解决方案,因为它会在容器内暴露所有版本的文件。我更倾向于进行完全重启--force-recreate。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接