首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将镜像部署到GKE集群

无法将镜像部署到GKE集群
EN

Stack Overflow用户
提问于 2021-11-28 06:13:44
回答 1查看 64关注 0票数 0

我已经在本地创建了一个docker镜像,并使用gcloud sdk将其推送到GCP容器注册表。镜像成功推送到容器注册表。

现在,我尝试通过选择deploy to GKE选项,从GCP手动将该镜像从容器注册中心部署到现有的私有GKE集群。在部署后,我收到一个错误消息"container有runasNonRoot,镜像将作为根appName容器运行:appName-1):CreateContainerConfigError“,任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-11-28 10:07:02

听起来您已经设置了pod安全策略,以避免以root身份运行容器。这是一个很好的安全策略,因为有可能进入集群中的其他应用程序或节点。

您可能希望阅读Kubernetes security context,并可能重新构建您的容器。

对于我的集群,我经常必须使用使用根的公共映像,在这种情况下,我将使用以前的映像作为基础,创建一个新的(非根)用户和新组,以获得映像中所需的任何工具的所有权。

更改Dockerfile中的默认用户:

代码语言:javascript
运行
复制
FROM ubuntu


RUN groupadd --gid 15555 notroot \ 
    && useradd --uid 15555 --gid 15555 -ms /bin/false notroot\
    && chown -R notroot:notroot /home/notroot

USER notroot

ENTRYPOINT ["/bin/bash", "-c"]
CMD ["whoami && id"]

Here's a better explanation告诉你为什么应该避免在Docker镜像中使用root。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70141089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档