在Kubernetes部署中指定图像必须以交互模式运行

时间:2018-06-07 11:34:09

标签: docker kubernetes

我有一个需要以交互模式运行的图像(否则我得到EOFError: EOF when reading a line)。

docker run -i imagename

当我以交互模式运行时,一切正常但是如何在部署YAML文件中指定它?

我的YAML看起来像这样:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: stackoverflow
spec:
  replicas: 2
  minReadySeconds: 15
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: stackoverflow
    spec:
      containers:
        - image: stackoverflow
          imagePullPolicy: Always
          name: stackoverflow
          ports:
            - containerPort: 80

1 个答案:

答案 0 :(得分:1)

  

当我以交互模式运行时,一切正常,但我如何指定

  • 在我们的statefusets中(也应该用于部署)我们使用以下内容:

    ...
    containers:
      - image: stackoverflow
        name: stackoverflow
        stdin: true
        tty: true
        ...
    

    请注意,docker标记-i对应stdin,并在容器规范中将-t标记为tty

根据要求,容器规格为v1.10 documentation reference