Neo4j Docker 镜像无法在 Kubernetes 上以非 root 用户运行
在 Kubernetes (K8S) 中,可以设置不同级别的安全策略,这些策略适用于集群范围内的运行容器的 Pod。其中一项策略是阻止 Pod 中的容器以 root 用户身份执行/运行 (runAsNonRoot)。
如果设置了此配置,但 K8S 集群的 Pod 定义覆盖了 securityContext>runAsUser
值,那么在尝试启动 Neo4j 容器时,您将看到类似以下内容的错误
Error: container has runAsNonRoot and image will run as root
要解决此问题,请确保在 K8S 集群的 Pod 定义中包含以下类似内容
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000
# ....
runAsUser
是用于运行容器进程入口点的 UID,在本例中为 Neo4j。该值是一个较高的数字,用于避免与主机用户表发生冲突。
此页面是否有帮助?