我有一个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和崩溃环回错误之间有关系吗?
注: Kubernetes集群有两个pod。
发布于 2019-10-23 22:13:56
不需要在文件末尾添加CMD,因为图像已经附带了CMD。由于pod在启动时失败,因此您将获得崩溃回送,从而获得127退出代码。
删除下面这一行,它就可以工作了。
CMD [“nginx”, “-g”, “daemon off;”]发布于 2020-05-09 23:50:38
我已经遇到过这个问题了。接下来,您可以尝试在部署配置中添加:
stdin: true
tty: truehttps://stackoverflow.com/questions/58471536
复制相似问题