开发者社区 > 云原生 > 容器服务 > 正文

使用Kubernetes中的容器存储/共享数据

我已经dockerized了一个需要使用几个CSV(~2gb)的python项目。为了保持图像大小不变,我没有在构建中包含CSV,而是选择通过卷向容器外部的目录中的运行容器提供数据。在本地,当运行docker时,我可以做到

docker run -v ~/local/path/:/container/path my-image:latest
这有效,但我不确定如何在Kubernetes中这样做。我一直在阅读文档,并对卷类型的数量感到困惑,其中应存储实际的CSV等。

根据我提供的项目信息,有一个明显的解决方案吗?

展开
收起
k8s小能手 2018-12-14 16:19:41 2794 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    如果您想从Docker复制该确切行为,最常见的方法是使用hostPath。像这样的东西:

    apiVersion: v1
    kind: Pod
    metadata:
    name: test-pd
    spec:
    containers:

    • image: my-image:latest
      name: my-container
      volumeMounts:

      • mountPath: /container/path
        name: test-volume

      volumes:

    • name: test-volume
      hostPath:
      path: /usr/local/path
      type: Directory

    这是容器之间共享的典型示例。您可以将数据保存在单独的容器中,并将代码保存在不同的容器中。

    https://kubernetes.io/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/

    apiVersion: v1
    kind: Pod
    metadata:
    name: two-containers
    spec:

    restartPolicy: Never

    volumes:

    • name: shared-data
      emptyDir: {}

    containers:

    • name: nginx-container
      image: nginx
      volumeMounts:

      • name: shared-data
        mountPath: /usr/share/nginx/html
    • name: debian-container
      image: debian
      volumeMounts:

      • name: shared-data
        mountPath: /pod-data

      command: ["/bin/sh"]
      args: ["-c", "echo Hello from the debian container > /pod-data/index.html"]

    2019-07-17 23:21:09
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    阿里云文件存储 NAS 在容器场景的最佳实践 立即下载
    何种数据存储才能助力容器计算 立即下载
    《容器网络文件系统CNFS》 立即下载

    相关镜像