Docker:以非持久方式在容器之间共享数据以允许代码升级

时间:2018-11-22 09:06:09

标签: php docker nginx docker-compose docker-volume

在php-fpm和nginx容器设置中,通常需要两个容器都可以使用源代码。就我而言,我想将Magento码头化。在Magento中,nginx的配置方式是在将请求提交给php引擎之前先查找文件是否存在。

根据Docker在生产环境中的最佳实践,我在构建过程中将源代码复制到了php容器中。与Nginx容器共享源代码的第一个想法是使用安装在两个容器根目录上的命名卷。但是,即使在编辑源代码并重建php容器之后,命名卷中的数据仍然存在。这对于动态内容(如文件上传等)非常方便,但是如何升级源代码?每次更改源代码时都应该删除该卷吗?在这种情况下,如何保存动态内容?

简而言之:

  • 我想拥有非持久卷,以便在php和nginx之间共享源代码
  • 具有动态内容(例如文件上传)的文件夹的永久卷(但仍与nginx共享)

对于Magento来说,应该是:

  • ./index.php./vendor/./app/等文件和文件夹的非持久卷(./app/etc/env.php./app/etc/config.php除外,因为它们是配置文件)等。
  • ./pub/media/./app/etc/env.php./app/etc/config.php等文件和文件夹的永久卷。

0 个答案:

没有答案