我的容器是 Warning BackOff 或 Crashloopback

My container is Warning BackOff or Crashloopback

我正在 Azure (Kubernetes) 上创建多个微服务,但遇到以下问题:如果我不将此命令放入 YAML 容器中,它会显示 BackOff 或 CrashloopBack 消息,并且不会留在此处。

我下的命令是这样的:

    command: [ "sleep" ]
    args: [ "infinity" ]

如果我不输入这段代码,就会出现这个错误

Warning BackOff 7s (x4 over 37s) kubelet, aks-agentpool-29153703-2 Back-off restarting the failed container

我的微服务之一的 DockerFile:

FROM node:10 
WORKDIR /app 
COPY package.json /app 
RUN npm install 
COPY . /app 
CMD npm start EXPOSE 6060

我的 YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: permis-deployment
  labels:
    app: permis-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: permis
  template:
    metadata:
      labels:
        app: permis
    spec:
      containers:
      - name: permis
        image: myacr.azurecr.io/permission-container:latest
        command: [ "sleep" ]
        args: [ "infinity" ]
        ports:
        - containerPort: 6060

apiVersion: v1
kind: Service
metadata:
  name: permis-service
spec:
  selector:
    app: permis
  ports:
    - protocol: TCP
      port: 6060
      targetPort: 6060
  type: LoadBalancer

你能告诉我我哪里做错了吗?

谢谢!

我建议您执行以下操作:

containers:
- args:
  - -ec
  - sleep 1000
command:
  - /bin/sh

直接调用 sleep 对我不起作用

如果您的应用 运行 没问题,请用这个更改 Dockerfile 并重新创建图像。应该工作:

FROM node:10 
WORKDIR /app 
COPY package.json /app 
RUN npm install 
COPY . /app 
EXPOSE 6060

CMD ["npm", "start"]