[英]kubernetes pod failed with Back-off restarting failed container
[英]Back-off restarting failed container openshift kubernetes
我有一个运行 Kong-api 的 Dockerfile 以部署在 openshift 上。 它构建得很好,但是当我检查 pod 时,我得到Back-off restarting failed container
。 这是我的 dockerfile
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y apt-transport-https curl lsb-core
RUN echo "deb https://kong.bintray.com/kong-deb `lsb_release -sc` main" | tee -a /etc/apt/sources.list
RUN curl -o bintray.key https://bintray.com/user/downloadSubjectPublicKey?username=bintray
RUN apt-key add bintray.key
RUN apt-get update && apt-get install -y kong
COPY kong.conf /etc/kong/
RUN kong migrations bootstrap [-c /etc/kong/kong.conf]
EXPOSE 8000 8443 8001 8444
ENTRYPOINT ["kong", "start", "[-c /etc/kong/kong.conf]"]
我哪里错了? 请帮我。 提前致谢
为了使 kong 正确启动,当你有一个活动的 Postgres 连接时,你需要执行这些命令:
kong migrations bootstrap && kong migrations up
另外,请注意当前 Dockerfile 的格式无效,如果您想在ENTRYPOINT
中传递选项,您可以这样编写:
ENTRYPOINT ["kong", "start","-c", "/etc/kong/kong.conf"]
此外,您需要删除此行:
RUN kong migrations bootstrap [-c /etc/kong/kong.conf]
请注意,上述行的格式无效,因为RUN
需要正常的 shell 命令,因此在这种情况下使用[]
是不正确的。
因此,当您部署到 Openshift 时,有多种方法可以满足您的需求。
Openshift 不允许 pod 以 root 用户运行。 您需要在 Dockerfile 中创建用户并使用非 root 用户来运行容器。 它应该工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.