首页 > 解决方案 > Kubernetes 将镜像数据复制到卷挂载

问题描述

我需要在两个容器之间共享一个目录:myapp 和监控,为此我创建了一个 emptyDir: {},然后在两个容器上创建了 volumeMount。

spec:
      volumes:
        - name:  shared-data
          emptyDir: {}
      containers:
      - name: myapp
        volumeMounts:
          - name:  shared-data
            mountPath:  /etc/myapp/
      - name: monitoring
        volumeMounts:
          - name: shared-data
            mountPath: /var/read 

这很好用,因为我写入共享数据目录的数据在两个容器中都是可见的。但是,在 /etc/myapp/myapp.config 下创建容器时创建的配置文件是隐藏的,因为共享数据卷安装在 /etc/myapp 路径上(重叠)。

如何强制容器首先将卷挂载到 /etc/myapp 路径,然后使 docker 映像将 myapp.config 文件放在默认路径 /etc/myapp 下,但它是挂载的卷,因此允许配置文件/var/read 下的监控容器可以访问吗?

总结:让监控容器读取 myapp 容器上的 /etc/myapp/myapp.config 文件。

有人可以建议吗?

标签: kubernetes

解决方案


您可以在初始化容器中的 /var/read 上挂载共享数据并将配置文件从 /etc/myapp/myapp.config 复制到 /var/read 吗?


推荐阅读