首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一个Kubernetes容器到同一舱内的另一个容器共享数据

从一个Kubernetes容器到同一舱内的另一个容器共享数据
EN

Stack Overflow用户
提问于 2018-11-28 00:25:52
回答 1查看 2K关注 0票数 3

我的吊舱里有两个容器:

  • 容器A基于我自己的Dockerfile。在这个Dockerfile中,有COPY ./files /my-files命令。此图像位于我的GitLab码头注册中心内。
  • 容器B基于来自hub.docker.com的图像。

我想将存储在/my-文件中的container的数据共享给Container。我认为我需要在这个容器中创建一个volume (不是持久化数据),并将volumeMounts创建到容器中。

不幸的是,当我用volumeMountsmountPath: /my-files添加到Container时,这个目录将被清空,并且在创建映像时没有添加任何文件。

我应该如何保存这些数据并与Container共享。

这是我的Deployment.yaml文件的一部分:

代码语言:javascript
复制
containers:
- name: Container-A
  image: "my-gitlab-registry/my-image-a-with-copied-files"
  volumeMounts:
    - name: shared-data
      mountPath: /my-files
- name: Container-B
  image: "some-public-image"
  volumeMounts:
  - name: shared-data
    mountPath: /files-from-container-a

volumes:
- name: shared-data
  emptyDir: {}
EN

回答 1

Stack Overflow用户

发布于 2019-10-02 03:42:29

一个丑陋的黑客,使用init容器,将数据复制到emptyDir卷,然后在第二个容器中挂载卷。

代码语言:javascript
复制
  initContainers:
    - name: init-config-data-copy-wait
      image: datacontainer
      command:
        - sh
        - "-ce"
        - |
          set -ex
          cp -r /src-data/* /dst-data/
          ls /dst-data/
      volumeMounts:
        - mountPath: /dst-data
          name: dst-data-volume

  volumes:
    - name: dst-data-volume
      emptyDir: {}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53510307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档