使用 bash 创建一个永远运行的 Docker 容器

Creating a Docker container that runs forever using bash

我正在尝试创建一个带有容器的 Pod,用于测试 运行 永远使用 K8s API。我有以下 Pod 的 yaml 规范,它将 运行 一个容器并立即退出:

apiVersion: v1
kind: Pod
metadata:
  name: pod-example
spec:
  containers:
  - name: ubuntu
    image: ubuntu:trusty
    command: ["echo"]
    args: ["Hello World"]

我找不到关于 command: 标签的任何文档,但理想情况下我想在某处放置一个 while 循环,永远打印出数字。

如果你想每隔几秒打印一次Hello,你可以使用:

apiVersion: v1
kind: Pod
metadata:
  name: busybox2
  labels:
    app: busybox
spec:
  containers:
  - name: busybox
    image: busybox
    ports:
    - containerPort: 80
    command: ["/bin/sh", "-c", "while :; do echo 'Hello'; sleep 5 ; done"]

您可以使用 kubectl logs <pod-name>

查看输出

保留容器 运行 而不打印任何内容的其他选项是单独使用 sleep 命令,例如:

command: ["/bin/sh", "-ec", "sleep 10000"]