【发布时间】:2019-10-02 03:50:31
【问题描述】:
我想在minishift 中从 Docker Hub 运行一个容器,如 article 中所述。由于 Docker Hub 中的映像以 root 运行,并且 OpenShift 不允许以 root 身份运行容器,因此我使用此命令来覆盖此约束。我以system:admin 登录。
oc adm policy add-scc-to-user anyuid -z default
但是,我不断收到此错误:
Error from server (NotFound): the server could not find the requested resource
首先,不清楚,缺少哪个资源,其次,覆盖是否适用于minishift? anyuid SCC 确实存在。
oc get scc
NAME KIND
anyuid SecurityContextConstraints.v1.security.openshift.io
hostaccess SecurityContextConstraints.v1.security.openshift.io
hostmount-anyuid SecurityContextConstraints.v1.security.openshift.io
hostnetwork SecurityContextConstraints.v1.security.openshift.io
nonroot SecurityContextConstraints.v1.security.openshift.io
privileged SecurityContextConstraints.v1.security.openshift.io
restricted SecurityContextConstraints.v1.security.openshift.io
【问题讨论】:
-
oc get sa在该命名空间上会得到什么?你在哪个命名空间工作? -
命名空间是指
oc project的项目名称?我已将其设置为将保存 Docker 容器映像的项目。并且,在该命名空间上,oc get sa显示,名称为builder、default和deployer。 -
使用
--loglevel 9运行oc adm policy命令并查看失败的请求。 -
system用户似乎没有访问权限。对于admin用户,命令oc adm policy add-scc-to-user anyuid -z default --loglevel 9会产生以下输出:pastebin.com/LFtNJmfA -
您究竟是如何以集群管理员用户身份登录的。 Minishift 将接受任何用户名和密码,因此如果操作不正确,您可能会以普通用户身份登录。执行此操作的常用方法是
developer用户运行oc adm policy add-scc-to-user anyuid -z default --as system:admin。即使用--as进行冒充。
标签: docker openshift root minishift