【问题标题】:Running docker image as a specific user in AKS在 AKS 中以特定用户身份运行 docker 映像
【发布时间】:2021-12-28 22:30:01
【问题描述】:
我有一个 docker 镜像,myimage。我可以使用 docker run 命令以特定用户名(例如:engdata)运行此映像,如下所示:
docker run -it -p 5108:5108 -u engdata myimage
当我将 myimage 部署到 AKS 时,它以 root 身份运行。如何告诉它以用户 engdata 身份运行?
【问题讨论】:
标签:
docker
kubernetes
azure-aks
【解决方案1】:
您的基础映像可能已将用户 ID 设置为 0。如果您知道其他用户存在,则可以通过在我提供的 Kubernetes 示例中指定用户 ID 来覆盖它。如果您不知道这一点,只需在您的图像构建过程中添加一个用户:
FROM node:slim
RUN useradd engdata -u 10001 --create-home --user-group
COPY --chown=engdata . /home/engdata/app/
USER 10001
WORKDIR /home/somebody/app
ENTRYPOINT ["npm", "start"]
您的 Kubernetes Pod 或部署清单:
spec:
securityContext:
runAsNonRoot: true
runAsUser: 10001