【问题标题】:Convert Dockerfile to Kubernetes yaml将 Dockerfile 转换为 Kubernetes yaml
【发布时间】:2019-04-16 04:58:45
【问题描述】:

我在 Dockerfile 中有两行代码,如下所示:

ENTRYPOINT ["/dockerstartup/dockerstartup.sh"]
CMD ["--wait"]

以下是我在 Kubernetes yaml 中转换的代码:

command: ["/dockerstartup/dockerstartup.sh"]
args: ["--wait"]

正确吗? 请提出建议。

【问题讨论】:

  • 看起来不错。要仅检查语法,您可以将 --dry-run-flag 添加到 kubectl apply
  • 无法执行,创建pod时报错。
  • 哪个错误?我们需要一些细节来帮助您。
  • 它有效。也许我忘记了一些路径:)。谢谢!
  • 嗨@Bui Huy 您能否将您的解决方案添加为答案并将其标记为已批准?如果有人会搜索类似的问题,它将使您的解决方案更加明显

标签: kubernetes dockerfile


【解决方案1】:

根据Define a Command and Arguments for a Container 文档:

您在配置文件中定义的命令和参数 覆盖容器提供的默认命令和参数 图片。

This 表总结了 Docker 和 Kubernetes 使用的字段名称:

| Docker field name | K8s field name |
|------------------:|:--------------:|
|    ENTRYPOINT     |     command    |
|       CMD         |      args      |

因此,对于您的示例,您应该使用以下内容:

Docker:

ENTRYPOINT ["/dockerstartup/dockerstartup.sh"]
CMD ["--wait"]

Kubernetes:

command: ["/dockerstartup/vnc_startup.sh"]
args: ["--wait"]

【讨论】:

    【解决方案2】:

    解决方法如下:

    command: ["/dockerstartup/dockerstartup.sh"]
    args: ["--wait"]
    

    我错过了脚本dockerstartup.sh 中的一些文件,所以我得到了错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-12
      • 2021-02-19
      • 1970-01-01
      • 2020-02-11
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多