【问题标题】:How to define the "docker container run" args in kubernetes如何在 kubernetes 中定义“docker container run”参数
【发布时间】:2019-11-20 20:49:21
【问题描述】:

我的 docker container run 命令行包含了很多 args,例如:

docker container run --privileged --rm -u ${USER} -v $HOME:$HOME -e CURRENT_LOGLVL=$CURRENT_LOGLVL -it mydockerimg /bin/bash

这些args的参考

--privileged      Give extended privileges to this container
I need to run in privilege mode to give extended privileges to this container

-v                 Bind mount a volume
I need to access a NFS mount point inside the docker container

-u                 Username or UID
I need to use special user

--rm            Automatically remove the container when it exits

-i      Keep STDIN open even if not attached

-e              environment variable

我阅读了一些文档,例如 https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ https://kubernetes.io/docs/concepts/storage/persistent-volumes/

可以找到环境变量和音量相关信息。 但是如何处理 --privileged 等其他参数呢?

有没有办法将这些参数直接传递给 docker? 要么 无论如何我手动运行docker命令行 但是 K8S 有办法将 docker 容器实例转移到 POD 中吗?

感谢任何提示或链接

【问题讨论】:

  • Kubernetes API 文档中的Pod 定义列出了所有可能的选项。请注意,您永远无法将本地主目录挂载到 pod 中,或指定动态用户 ID,甚至比 Docker 更需要一个容器,除了启动 shell 之外,您还需要做一些事情。

标签: docker kubernetes


【解决方案1】:

对于特权容器和-u 需要使用secure context。 同样在 Kubernetes 中,您可以使用 --rm 标志。

【讨论】:

  • 谢谢。我为用户找到了以下内容。 apiVersion: v1 kind: Pod 元数据: name: security-context-demo spec: securityContext: runAsUser: 1000 runAsGroup: 3000 fsGroup: 2000 --privileged 怎么样?我需要使用主机的循环设备。
猜你喜欢
  • 2016-04-09
  • 2017-08-24
  • 2016-01-21
  • 2018-11-21
  • 2015-11-05
  • 1970-01-01
  • 2023-03-16
  • 2017-09-26
  • 2021-02-27
相关资源
最近更新 更多