保障 Kubernetes 安全:从容器配置到权限控制
1. 容器配置与非根用户运行
为了能在本地使用 Docker 运行容器,并将其部署到 Kubernetes 生产环境,同时避免在 Dockerfile 中进行特定环境的更改,我们需要更新 Dockerfile,给予组 0 写权限。以下是更新后的 Dockerfile:
FROM python:3.12
ENV PYTHONUNBUFFERED 1
COPY . /app
WORKDIR /app
RUN mkdir logs
RUN chgrp -R 0 logs \
&& chmod -R g+rwX logs
CMD python3 server.py
若要在将容器部署到 Kubernetes 之前,使用非根用户在本地 Docker 中测试运行该容器,可以在运行时设置用户:
docker run --user 1001:0 $CONTAINER_NAME
现在,我们修订后的容器(发布为版本 7)可以作为非根用户愉快地运行。部署相应配置,即可看到它正常运行。若想查看为使容器和配置以非根用户运行所做的所有更改,可以使用 diff 命令进行对比:
cd Chapter12
diff -u timeserver6 timeserver7
diff -u 12.4_NonRootContainers/
超级会员免费看
订阅专栏 解锁全文
1226

被折叠的 条评论
为什么被折叠?



