docker - 如何通过 kubernetes pod 传递 docker run 标志

标签 docker kubernetes

您好,我正在运行我运行 mailhog 容器的 kubernetes 集群。

但我需要使用自己的 docker run 参数来运行它。如果我直接在docker中运行它。我会使用命令:

docker run  mailhog/mailhog -auth-file=./auth.file

但我需要通过 Kubernetes pod 运行它。我的 pod 看起来像:

   apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: mailhog
    spec:
      replicas: 1
      revisionHistoryLimit: 1
      strategy:
          type: RollingUpdate
      template:
        metadata:
          labels:
            app: mailhog
        spec:
          containers:
          - name: mailhog
            image: us.gcr.io/com/mailhog:1.0.0
            ports:
            - containerPort: 8025

如何通过kubernetes实现以-auth-file=./auth.file为参数运行Docker容器。谢谢。

我尝试在 containers

下添加
        command: ["-auth-file", "/data/mailhog/auth.file"]

然后我明白了

 Failed to start container with docker id 7565654 with error: Error response from daemon: Container command '-auth-file' not found or does not exist.

最佳答案

感谢@lang2

这是我的 deployment.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mailhog
spec:
  replicas: 1
  revisionHistoryLimit: 1
  strategy:
      type: RollingUpdate
  template:
    metadata:
      labels:
        app: mailhog
    spec:
      volumes:
      - name: secrets-volume
        secret:
            secretName: mailhog-login
      containers:
      - name: mailhog
        image: us.gcr.io/com/mailhog:1.0.0
        resources:
          limits:
            cpu: 70m
            memory: 30Mi
          requests:
            cpu: 50m
            memory: 20Mi
        volumeMounts:
        - name: secrets-volume
          mountPath: /data/mailhog
          readOnly: true
        ports:
        - containerPort: 8025
        - containerPort: 1025
        args:
          - "-auth-file=/data/mailhog/auth.file"

关于docker - 如何通过 kubernetes pod 传递 docker run 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44098164/

相关文章:

docker - 如何在容器中运行图像?

docker - 我可以从Kubernetes中另一个节点上运行的另一个容器通过其主机名访问一个容器吗?

dns - Kubernetes DNS 在 Kubernetes 1.2 中失败

docker - 如何从特权容器访问 docker 主机文件系统

bash - 运行docker exec命令时如何使用docker容器的env变量

Docker compose 环境变量未在 nginx 中获取

kubernetes - 安装 knative 服务时,版本 "HorizontalPodAutoscaler"中没有匹配类型 "autoscaling/v2"

kubernetes - 如何将 pod IP 分配给 k8s 中容器的参数字段

reactjs - 在 React 应用程序 Pod 中无法访问 kubectl secret

docker - 如何在使用 docker-compose 并行运行 docker 容器时限制 cpu 使用率