gpt4 book ai didi

kubernetes - 如何在docker命令中切换用户(su)

转载 作者:行者123 更新时间:2023-12-02 20:52:36 30 4
gpt4 key购买 nike

我想用非 root 用户启动一个容器,但我不能修改原始 Dockerfile,或者我知道我可以做一些像 Run useradd xx 然后 User xx 在 Dockerfile 中实现。我现在正在做的是像下面这样修改 yaml 文件:

apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-pod
image: xxx
command:
- /bin/sh
- -c
- |
useradd xx -s /bin/sh;
su -l xx; // this line is not working
sleep 1000000;

当 l exec 进入 pod 时,默认仍然是 root 用户,有人可以帮忙吗?提前致谢!

最佳答案

您需要像下面这样使用安全上下文

   securityContext:
runAsUser: 1000
runAsGroup: 3000
fsGroup: 2000

引用: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#podsecuritycontext-v1-core

enter image description here


EDIT:

如果你想改变你容器中的用户,你可以添加额外的 dockerfile 层,检查下面

添加dockerfile层,

   FROM <your_image>
RUN adduser newuser
USER newuser
:
:

现在在你的 kubernetes 中使用上面的自定义图像。

关于kubernetes - 如何在docker命令中切换用户(su),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64708425/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com