Docker绑定安装到命名的docker卷

时间:2020-05-30 21:50:55

标签: docker docker-compose dockerfile bind

我当前的应用程序由30多个docker微服务组成。在初始阶段,早就选择了绑定安装,以持久化数据并在Docker容器之间共享配置文件。码头工人创建了丢失的主机路径时,这是变相的祝福。

     volumes:
       - /etc/localtime:/etc/localtime:ro
       - /u/postgresql/var/lib/pgsql:/var/lib/pgsql
       - ....

现在,我们进入了一个世界,在该世界中,bind mount禁止以WRITE模式装载任何目录。这意味着,我将不得不采用命名的docker卷而不是绑定挂载。这不是K8s或Openshift部署。

volumes:
  MY_APP_POSTGRES:
    external: true
  MY_APP_YET_ANOTHER_VOLUME:
    external: true
----------------
     volumes:
       - /etc/localtime:/etc/localtime:ro
       - MY_APP_POSTGRES:/var/lib/pgsql
       - ....

当我查看所用的独特装订架时,发现它的数量为50。如果必须将其替换为docker卷,则必须创建50个命名的docker卷。 Docker卷不像K8s那样支持'subpath'。因此,我无法共享docker卷。整个共享相同的Docker卷将使隔离变得混乱(例如,卡夫卡日志缺少cassandra数据...)

我对Docker卷的数量保持警惕。

  1. 拥有这么多docker卷是否常见?
  2. 有没有更好的方法?

0 个答案:

没有答案