我正在尝试使用 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