通过k8s的command和args配置Docker入口命令
来源:互联网 发布:天气预报软件电脑版 编辑:程序博客网 时间:2024/06/05 04:28
首先来说说dockerfile中的ENTRYPOINT,官方是这么解释的: An ENTRYPOINT allows you to configure a container that will run as an executable.
即它可以让你的容器功能表现得像一个可执行程序一样,当容器被创建后,这条命令就会被执行。一般的ENTRYPOINT的格式是:
ENTRYPOINT ["executable", "param1", "param2"] (the preferred exec form) ENTRYPOINT command param1 param2 (shell form)
总之就是一个命令带上若干个参数,这是Docker的用法。
入口命令给容器创建带来了一些灵活性,如果在k8s中想要覆盖DockerFile中的入口命令,自己重新定义入口命令是否可以呢?答案是肯定的,看下面一段.yaml文件:
apiVersion: v1kind: Podmetadata: name: command-demo labels: purpose: demonstrate-commandspec: containers: - name: command-demo-container image: debian command: ["printenv"] args: ["HOSTNAME", "KUBERNETES_PORT"]
这是一个创建Pod的配置,在containers
节点下,有如下两行
command: ["printenv"] args: ["HOSTNAME", "KUBERNETES_PORT"]
这里,从字面意思不难看出,这两行可以实现覆盖DockerFile中的ENTRYPOINT功能。具体的command
代表ENTRYPOINT的命令行,而args
代表具体参数。
当用户同时写了command
和args
的时候自然是可以覆盖DockerFile中ENTRYPOINT的命令行和参数,那么对于具体情况呢,比如仅仅写了command
或者args
的时候呢?完整的情况分类如下:
- 如果
command
和args
均没有写,那么用Docker默认的配置。 - 如果
command
写了,但args
没有写,那么Docker默认的配置会被忽略而且仅仅执行.yaml文件的command
(不带任何参数的)。 - 如果
command
没写,但args
写了,那么Docker默认配置的ENTRYPOINT的命令行会被执行,但是调用的参数是.yaml中的args
。 - 如果如果
command
和args
都写了,那么Docker默认的配置被忽略,使用.yaml的配置。
0 0
- 通过k8s的command和args配置Docker入口命令
- [k8s]k8s的command和args
- [k8s]args指令案例-彻底理解docker entrypoint
- docker和k8s基本操作
- Docker教程:dokcer的配置和命令
- Docker教程:docker machine的配置和命令
- Docker的ubuntu镜像无ifconfig和ping命令 bash: ifconfig: command not found
- docker k8s二次开发(二)api的实现
- 通过 Docker 配置 yum 和 gitlab 容器
- 基于K8s和docker的Jenkins 可伸缩持续集成系统
- String... args 和 String[] args 的区别
- String args[] 和 String[] args 的区别
- String args[] 和 String[] args的区别
- String【】args和String args[]的区别
- String... args 和 String[] args 的区别
- Docker Engine 插件模型和 k8s 插件模型区别
- 通过systemd配置Docker
- k8s,docker,mesos
- cdh 报告错误 no jdk 啥的问题处理
- gerrit删除Group和Project
- 对Java Serializable(序列化)的理解和总结
- 揭开HTTP网络协议神秘面纱系列(一)
- ICPCCamp2017 Day4 to Day6(占坑,无内容)
- 通过k8s的command和args配置Docker入口命令
- react-webpack 照片墙制作(一)
- MySQL重命名数据库名称的方法
- ckeditor初尝试
- 一句话总结java23种设计模式
- Android程序员学PHP开发(29)-ThinkPHP5.0(1)初体验-PhpStorm
- PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
- Android App 沉浸式状态栏解决方案
- Caffe深度学习操作流程