首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自dockerfile pod的Openshift online zookeeper "Crash loop back off“

来自dockerfile pod的Openshift online zookeeper "Crash loop back off“
EN

Stack Overflow用户
提问于 2016-12-15 00:58:15
回答 1查看 920关注 0票数 1

我想在Openshift-origin online (下一代)上部署应用程序。将至少有4个pods通过服务进行通信。

在第一个POD中,我必须运行Zookeeper。所以我创建了POD,我的来自docker镜像的Zookeeper将会运行,但是POD的状态是:崩溃循环返回关闭。

我创建了新项目

代码语言:javascript
复制
oc new-project my-project

我创建了新的应用程序来从docker部署我的zookeeper

代码语言:javascript
复制
oc new-app mciz/zookeeper-docker-infispector --name zookeeper

输出消息是:

代码语言:javascript
复制
--> Found Docker image 51220f2 (11 minutes old) from Docker Hub for "mciz/zookeeper-docker-infispector"

* An image stream will be created as "zookeeper:latest" that will track this image
* This image will be deployed in deployment config "zookeeper"
* Ports 2181/tcp, 2888/tcp, 3888/tcp will be load balanced by service "zookeeper"
  * Other containers can access this service through the hostname "zookeeper"
* This image declares volumes and will default to use non-persistent, host-local storage.
  You can add persistent volumes later by running 'volume dc/zookeeper --add ...'
* WARNING: Image "mciz/zookeeper-docker-infispector" runs as the 'root' user which may not be permitted by your cluster administrator

--> Creating resources with label app=zookeeper ...
imagestream "zookeeper" created
deploymentconfig "zookeeper" created
service "zookeeper" created
--> Success
Run 'oc status' to view your app.

然后我运行了pods list:

代码语言:javascript
复制
oc get pods

带输出:

代码语言:javascript
复制
NAME               READY   STATUS             RESTART      AGE
zookeeper-1-mrgn1  0/1     CrashLoopBackOff   5            5m

然后我运行了日志:

代码语言:javascript
复制
 oc logs -p zookeeper-1-mrgn1 

带输出:

代码语言:javascript
复制
JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
grep: /opt/zookeeper/bin/../conf/zoo.cfg: No such file or directory
mkdir: can't create directory '': No such file or directory
log4j:WARN No appenders could be found for logger         (org.apache.zookeeper.server.quorum.QuorumPeerConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig     for more info.
Invalid config, exiting abnormally

我的dockerfile:

代码语言:javascript
复制
FROM openjdk:8-jre-alpine
MAINTAINER mciz

ARG MIRROR=http://apache.mirrors.pair.com
ARG VERSION=3.4.6

LABEL name="zookeeper" version=$VERSION

RUN apk add --no-cache wget bash \
    && mkdir /opt \
    && wget -q -O - $MIRROR/zookeeper/zookeeper-$VERSION/zookeeper-    $VERSION.tar.gz | tar -xzf - -C /opt \
    && mv /opt/zookeeper-$VERSION /opt/zookeeper \
    && cp /opt/zookeeper/conf/zoo_sample.cfg     /opt/zookeeper/conf/zoo.cfg 

EXPOSE 2181 2888 3888

WORKDIR /opt/zookeeper

VOLUME ["/opt/zookeeper/conf"]

ENTRYPOINT ["/opt/zookeeper/bin/zkServer.sh"]
CMD ["start-foreground"]
EN

回答 1

Stack Overflow用户

发布于 2016-12-15 03:56:29

new-app命令输出中有一条警告:

代码语言:javascript
复制
WARNING: Image "mciz/zookeeper-docker-infispector" runs as the 'root' user which may not be permitted by your cluster administrator

您应该修复docker镜像,使其不以根用户身份运行(或者告诉OpenShift允许此项目容器以根用户身份运行)。

这里有一个在Openshift中工作的Zookeeper图像和模板的具体示例。

https://github.com/openshift/origin/tree/master/examples/zookeeper

请注意,Dockerfile已更改为以非root用户身份运行容器

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

https://stackoverflow.com/questions/41148127

复制
相关文章

相似问题

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