保障Kubernetes安全:从容器配置到访问控制
1. 容器配置与非root用户运行
为了能够在本地使用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之前,使用非root用户在本地Docker中运行容器进行测试,可以在运行时设置用户:
docker run --user 1001:0 $CONTAINER_NAME
现在,我们修改后的容器(发布为版本7)可以以非root用户身份愉快地运行了。部署相应的配置,即可看到它正常运行。如果你想查看为使容器和配置以非root身份运行所做的所有更改,可以使用以下命令进行比较:
cd Chapter12
diff -u timeserver6 timeserver7
diff -u 12.4_NonRootContainers/1_permission_e
超级会员免费看
订阅专栏 解锁全文

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



