本文介绍容器服务Swarm集群相关的配置类标签。

Swarm标签名 Swarm标签含义 对应 Kubernetes配置方案 Swarm配置示例 Kubernetes配置示例 如何迁移
name

service名称,无特殊作用,可忽略。

Kubernetes不支持,迁移忽略。 无法迁移。
image 容器镜像。 image标签。 kompose自动迁移。
ports 容器端口映射。 containerPort标签若有对外访问诉求,则需要自己配置NodePort。 kompose自动迁移。
environment 容器环境变量。 env标签。 kompose自动迁移。
volumes 挂载宿主机目录或存储卷。

volumeMounts标签。

volumes标签。

请参见volumes的Swarm配置示例。 请参见volumes的Kubernetes配置示例。 kompose自动迁移。
cap_add/cap_drop 增加或移除容器对内核的修改权限。 securityContext:capabilities标签。 请参见cap_add/cap_drop的Swarm配置示例。。 请参见cap_add/cap_drop的Kubernetes配置示例。。 kompose自动迁移。
privileged: true

使用该参数,container内的root拥有真正的root权限。 否则,container内的root只是外部的一个普通用户权限。

privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许您在docker容器中启动docker容器。

securityContext:privileged标签。 请参见privileged: true的Swarm配置示例。。 请参见privileged: true的Kubernetes配置示例。。 kompose自动迁移。
mem_limit 指定容器对内存资源限制。 resource:request/limits标签。 请参见mem_limit的Swarm配置示例。。 请参见mem_limit的Kubernetes配置示例。。 kompose自动迁移。
cpu_shares 指定容器对cpu资源限制。 resource:request/limits标签。 请参见cpu_shares的Swarm配置示例。。 请参见cpu_shares的Kubernetes配置示例。。 kompose自动迁移。
kernel_memory docker run 参数。 Kubernetes不支持,迁移忽略。 无法迁移。
memswap_reservation docker run 参数。 Kubernetes不支持,迁移忽略。 无法迁移。
memswap_limit docker run 参数。 Kubernetes不支持,迁移忽略。 无法迁移。
shm_size docker run 参数。 Kubernetes不支持,迁移忽略。 无法迁移。
oom-kill-disable 设置是否禁止OOM Killer,和docker run 命令中的--oom-kill-disable 参数语义一致。 Kubernetes不支持,迁移忽略。 无法迁移。

volumes

Swarm配置示例 Kubernetes配置示例
volumes volumes

配置详情,请参见auth-service-deployment.yaml

cap_add/cap_drop

Swarm配置示例 Kubernetes配置示例
cap_add cap_add/cap_drop

详细配置,请参见 auth-service-deployment.yaml

privileged: true

Swarm配置示例 Kubernetes配置示例
privileged: true privileged: true

详细配置,请参见 auth-service-deployment.yaml

mem_limit

Swarm配置示例 Kubernetes配置示例
mem-limit mem_limit

详细配置,请参见config-deployment.yaml

cpu_shares

Swarm配置示例 Kubernetes配置示例
cpu_shares cpu_shares

详细配置,请参见config-deployment.yaml