ad

《基于Kubernetes的容器云平台实战》_了解最新技术前沿_2.2 容器生命周期管理

admin 146 2023-10-25

【摘要】 本书摘自《基于Kubernetes的容器云平台实战》一书中第2章,第2节,由陆平、左奇、付光和张晗等编著。

2.2 容器生命周期管理

容器生命周期管理是Docker引擎的核心功能,既包括对容器元数据的操作管理,也 涵盖了对操作系统API 的包装调用。这部分功能是由引擎守护程序、 Containerd和标准化 的运行时工具配合完成的,具体的命令有: run、create、start、rename、update、pause、 unpause、stop、kill、restart、rm、prune、wait 等。

1.运行容器

docker container run [options] image[:tag|edigest][cmd][arg …]

该命令用于启动容器进程,等于create 和 start的组合。当命令无选项时,容器以镜像 模板加默认属性的方式创建。下面对 docker container run命令的主要选项分别进行介绍。

《基于Kubernetes的容器云平台实战》_了解最新技术前沿_2.2 容器生命周期管理

(1)基本选项

--name 指定容器名字。如不指定,引擎将随机分配一个。 -d/--detach (默认 模式),以后台模式运行,容器标准输出和错误流被送到日志驱动。容器结束或退出后不 会从文件系统中删除,除非带有--rm, 它才会被自动清除(附带清除匿名卷)。 -i/-- interactive 则将容器标准流都关联到当前终端(-a 指定关联其中的几个),-t 为容器 分配伪终端, --sig-proxy=false 关闭键盘输入系统信号(比如Ctrl-C)的转发功能。 如容器从管道得到标准输入时,不能带-t 选项。 --cidfile, 指示引擎将创建的容器的 ID 写入指定文件中。

--init 指定容器中PID 为1的进程,负责回收僵尸进程,正确处理系统信号,该选 项不加参数时,使用引擎自带的 docker-init 可执行程序。

--restart 定义退出重启策略,默认no 不重启。 on-failure[:max-retries]

表示返回码不为0时且重启次数在限定范围内,则执行重启。 always, 在容器退出以及引

擎启动时重启。 unless-stopped, 只在退出时重启。重启延迟时间从100ms 开始逐次

加倍,最长时间1min, 启动后10s重置。重启次数记录在元数据中,可用inspect查看。 -- stop-signal, 定制停止容器时发送的默认SIGTERM 信号。 --stop-timeout, 定制默 认10s停止容器超时时间。

--log-driver 为容器指定与当前引擎不同的日志驱动。默认驱动是json-file, 可选 值有none、syslog、journald、gelf、fluentd、awslogs 和 splunk。 配合 - -log-opt 选项为 具体驱动配置运行参数。

(2)用于覆盖image 创建时默认配置的选项

该命令行上的cmd 和参数能够覆盖 Dockerfile里的 CMD 指令,而--entrypoint 选 项值能够覆盖 Dockerfile 中的 ENTRYPOINT 指令值。

Dockerfile中有端口映射, --expose=[], 表示补充新的暴露端口; -p=[], 覆盖端 口映射规则。它们的参数格式为ip:hPort:cPort I ip::cPort I hPort:cPort | cPort,其中主机 hPort和容器 cPort都可以是范围值,能带TCP/UDP 限定协议。 -P 表 示暴露全部。

--env/-e 为补充设置环境变量, --env-file 为从文件中读取补充的环境变量。 - w/--workdir, 覆盖WORKDIR 指令。 -1/--label, 补充元数据标签。 --label-file, 从文件中读取补充的元数据标签。

-v/--volume 将宿主机路径和预定义卷绑定挂载到容器中的绝对路径,格式为

[src:]dest[:]。 其中, src为宿主机路径或卷名称,无此项使用匿名卷;

opts可带逗号分隔的多个属性,指定只读或读写挂载模式、源和目标之间的挂载传播属 性、SELinux 安全标签是否修改,以及挂载命名卷时dest原有文件是否复制,格式为

[rw |ro]、[[r]shared |[r]slavel[r]private]、[z |Z] 和 [nocopy]。 与此相关的选项还有--volume-driver, 表示使用专门的卷驱动; --volumes-from,指从指定容

器挂载全部卷对象; --read-only, 表示以只读方式挂载根文件系统。 --tmpfs=[], 挂载指定的tmpfs, 格式参照mount -t tmpfs -o命令。

-u/--user 设置容器进程UID 和GID, 可为用户名或ID, 如用ID 则容器中可无此用 户。格式为:user I user:group I uid I uid:gid I user:gid l uid:group.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Java+EE应用开发实践教程》_读懂新的设计思路_4.2.4.通过 Spring MVC拦截器实现用户登录验证
下一篇:从《Python数据分析案例教程》中_领悟数据和Python的魅力_3.4.2 文本文件的读写
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×