Docker ENTRYPOINT和Kubernetes容器规范COMMAND之间的区别?

前端之家收集整理的这篇文章主要介绍了Docker ENTRYPOINT和Kubernetes容器规范COMMAND之间的区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

DOCKERFILE有一个ENTRYPOINT参数,在编写Kubernetes部署yaml文件时,在COMMAND的Container规范中有一个参数.

我无法弄清楚有什么区别以及如何使用它们?

最佳答案
Kubernetes为我们提供了有关如何使用这些命令的多种选择:

当您覆盖Kubernetes .yaml文件中的默认Entrypoint和Cmd时,这些规则适用:

>如果您没有为Container提供命令或参数,则为默认值
使用Docker镜像中定义的.
>如果您为Container提供命令但没有args,则只提供
使用了提供的命令.默认的EntryPoint和默认的Cmd
在Docker镜像中定义的内容将被忽略.
>如果仅提供Container的args,则为默认的Entrypoint
在Docker镜像中定义的是使用您提供的args运行的.
>如果你提供一个命令和args,默认的Entrypoint和
默认的Docker镜像中定义的Cmd将被忽略.你的命令是
用你的args运行.

这是一个例子:

Dockerfile:

FROM alpine:latest
COPY "executable_file" /
ENTRYPOINT [ "./executable_file" ]

Kubernetes yaml文件

 spec:
    containers:
      - name: container_name
        image: image_name
        args: ["arg1","arg2","arg3"]

https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/

猜你在找的Docker相关文章