【发布时间】:2019-10-20 09:13:40
【问题描述】:
我有一个 dockerfile 来构建一个简单的 React 应用程序以部署到 GKE。但是当我运行以下命令时出现 crashloopback 错误:
kubectl create deployment react-web --image=gcr.io/qwiklabs-gcp-00-a41e63735e00/react-docker-app:v1
我的 dockerfile 有以下内容:
# build environment
FROM node:8 as react-build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json /app/package.json
RUN npm install --silent
RUN npm install react-scripts@3.0.1 -g --silent
COPY . /app
RUN npm run build
# production environment
FROM nginx:alpine
COPY --from=react-build /app/build /usr/share/nginx/html
EXPOSE 80
CMD [“nginx”, “-g”, “daemon off;”]
然后我运行 kubectl describe pod react-web 并返回错误代码 127。
results of kubectl describe pod
我还运行docker run react-docker-app 来测试它是否在本地运行,但我得到了这个输出:
/bin/sh: [“nginx”,: not found
/bin/sh: ”]: not found
这个错误可能是因为我的本地机器上没有安装 nginx 吗? 或者没有安装nginx和crashloopbackoff错误之间是否有关系。
注意:Kubernetes 集群有两个 pod。
【问题讨论】:
-
您能否再次检查您的
CMD是否有直引号["nginx"]?它们在您的问题和错误中显示为大引号,这可能会导致这种情况。 -
您在 GKE 中的容器日志中是否遇到相同的错误?
标签: reactjs docker nginx kubernetes google-kubernetes-engine