我从Docker和OpenShift v3开始。
我有一个简单的Node.js项目和一个基本上从nodejs.org复制的Dockerfile,它在docker run
的本地机器上运行得很好。我将我的图像推送到Docker Hub,然后通过oc new-project
创建了我的项目。
在oc new-app
和oc get pods
之后,我看到状态为ImagePullBackOff
的广告连播,另一个广告为Running
。一段时间后,只有一个pod持续,状态为Error
。 oc logs
只会带我:pods for deployment took longer than 600 seconds to become ready
。
另一件可能有用的事情是,在oc new-app
命令之后,我收到了* [WARNING] Image runs as the 'root' user which may not be permitted by your cluster administrator
之类的消息。
我做错了什么或遗失了什么?需要更多信息吗?
答案 0 :(得分:0)
默认情况下,OpenShift会阻止您以root身份运行容器,因为存在安全风险。是否可以配置群集以允许以root身份运行特定容器取决于您拥有管理群集的权限。
最好不要首先以root用户身份运行容器。为此,建议您使用以下图片:
此图像启用了源到图像(S2I),因此与OpenShift的构建系统集成。