字段说明:
    image.png
    root@k8s-master ~]# kubectl explain pods.spec.containers

    name 指定容器名称

    image 指定容器所需镜像仓库及镜像名,例如ikubernetes/myapp:v1

    imagePullPolicy (可取以下三个值Always,Never,IfNotpresent)
    Always:镜像标签为“latest”时,总是去指定的仓库中获取镜像
    Never:禁止去仓库中下载镜像,即仅使用本地镜像
    IfNotpresent:如果本地没有该镜像,则去镜像仓库中下载镜像

    ports <[]Object> 值是一个列表,由一到多个端口对象组成,例如:(名称(可后期调用) 端口号 协议 暴露在的地址上) 暴露端口只是提供额外信息的,不能限制系统是否真的暴露
    containerPort 指定暴露的容器端口
    name 当前端口的名称
    hostIP 主机端口要绑定的主机IP
    hostPort 主机端口,它将接收到请求通过NAT转发至containerPort字段指定的端口
    protocol 端口的协议,默认是TCP

    args <[]string> 传递参数给command 相当于docker中的CMD

    command <[]string> 相当于docker中的ENTRYPOINT

    镜像中的命令和pod中定义的命令关系说明:
    image.png

    • 如果pod中没有提供command或者args,则使用docker中的CMD和ENTRYPOINT

    • 如果pod中提供了command但不提供args,则使用提供的command,忽略docker中的Cmd和Entrypoint

    • 如果pod中只提供了args,则args将作为参数提供给docker中的Entrypoint使用

    • 如果pod中同时提供了command和args,则docker中的cmd和Entrypoint将会被忽略,pod中的args将最为参数给cmd使用

    参考文档:https://www.cnblogs.com/wjlovezzd/p/13176240.html