对于使用的任何 Alpine Image,均采用 CrashLoopBackOff

对于使用的任何 Alpine Image,均采用 CrashLoopBackOff

我正在尝试使用 alpine 映像(我自己构建的,并使用 vandot/alpine-bash)进行简单部署。部署创建后,我已准备好 0/1,并在 pod 详细信息中看到 CrashLoopBackOff。尽管当我对两个映像都使用 docker run 时,一切都运行正常,我能够访问容器中的 bash。

这是部署 yaml

apiVersion: apps/v1
kind: Deployment
metadata:
 name: alpine-bash
 namespace: debugservices
spec:
  replicas: 1
  selector:
    matchLabels:
      app: alpine-bash
  template:
    metadata:
      labels:
        app: alpine-bash
    spec:
      containers:
      - name: openjdk8alpinewithbash
        image: vandot/alpine-bash

或者

image: eliassal/openjdk:8-jdk-alpine-with-bash

下面是我用来使用 bash 构建 Alpine 镜像的 dockerfile

FROM openjdk:8-jdk-alpine
MAINTAINER baeldung.com
RUN apk update && apk add bash
CMD /bin/bash

另外,我使用了其他在 Docker 中运行良好的图像,但因同样的错误而失败

K8S 版本:

客户端版本:v1.25.0 Kustomize 版本:v4.5.7 服务器版本:v1.26.4

答案1

您可以尝试在部署 YAML 文件中tty: true添加:stdin: true

spec:
  containers:
  - name: openjdk8alpinewithbash
    image: vandot/alpine-bash
    stdin: true
    tty: true

相关内容