部署了一套k8s测试环境,在启动自己build的镜像的时候总是报错:Back-off restarting failed container。
来来回回找了好多原因,搭了自己的私有仓库,试了阿里的私有仓库,最后发现是自己对docker理解不够,自己build的镜像是基于系统级别的,用K8S启动后,容器会自动关闭,解决办法是使其一直运行,需要在build或者yaml里面加入command命令
build:

FROM centos
ADD run.sh /
RUN chmod +x /run.sh && yum install wget httpd -y

cat run.sh
#!/bin/bash
httpd -k start
while true; do sleep 30; done;

yaml:

command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]