【问题标题】:The file in the container is missing while deploying as a kubernetes pod部署为 kubernetes pod 时,容器中的文件丢失
【发布时间】:2020-02-19 11:37:36
【问题描述】:

我已使用 Dockerfile 中的 ADD 命令将文件“sample.txt”复制到容器中。

作为容器运行时,“sample.txt”文件存在于容器内。

但是在作为 kubernetes pod 运行时,复制的“sample.txt”文件丢失了。

请帮助我理解为什么会这样。

【问题讨论】:

  • 如果它不存在 - 它不存在,或者被什么东西删除了,或者你找错地方了,或者你部署了错误的图像版本,或者错误的图像,或者是谁知道还有什么。
  • 你能分享你的docker文件吗
  • 该文件在作为容器运行时存在,但在作为 k8s pod 运行时丢失
  • 如何检查它是否存在?您是否使用文件的完整路径来检查它是否在两种情况下都存在?如果没有,请在将映像作为 Docker 容器运行时在文件上运行 readlink -f filename。路径是什么?在 Kubernetes 上运行时在命令中使用它,例如尝试列出它:ls <absolute path to the file)。结果如何?

标签: docker kubernetes


【解决方案1】:

你可以运行下面的命令并检查文件是否存在

docker run -it <image-name> /bin/sh

【讨论】:

  • 作为容器运行,文件存在,但作为 k8s pod 运行,文件丢失
  • 那么 kubernetes 配置有问题。检查 YAML 中的命令和参数。分享yaml内容,找出根本原因
【解决方案2】:

我遇到了这个问题。我在我复制的文件上安装了一个 emptydir 卷。检查您的 yaml 文件,看看是否是这种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-01
    • 2020-02-14
    • 2017-08-24
    • 1970-01-01
    • 2018-09-27
    • 2019-06-12
    • 2021-06-18
    • 2020-07-20
    相关资源
    最近更新 更多