【问题标题】:How to run docker image using kubectl cmd with specific cmd如何使用带有特定 cmd 的 kubectl 命令运行 docker 映像
【发布时间】:2021-05-16 18:24:13
【问题描述】:

我曾经使用流动的docker run cmd 运行wiremock 映像:

docker run -it -p 8787:8787 rodolpheche/wiremock --port 8787 --verbose

现在我尝试在 Kubernetes 中使用 kubectl run cmd 运行它,下面的运行成功了

kubectl run wiremock --image=rodolpheche/wiremock

但我无法使用自定义 cmd "--port 8787 --verbose" 运行它,我也尝试了以下选项,但我无法使用这些特定选项运行 wiremock 容器 "--port 8787 - -详细”

# Start container using a different command and custom arguments.
kubectl run wiremock --image=rodolpheche/wiremock --command -- <cmd> <arg1> ... <argN>

有没有办法在 Kubernetes 的 8787 端口上使用详细选项运行它?

【问题讨论】:

  • 创建yml文件然后试试,参考:kubernetes.io/docs/concepts/workloads/pods
  • 还要检查端口状态netstat -tunlp | grep 8787,如果它正在监听,那么 pod 将不会创建。还检查日志消息是否有任何错误。

标签: docker kubernetes kubectl wiremock


【解决方案1】:
kubectl run wmock --image rodolpheche/wiremock --port 8787 -- --port 8787 --verbose

应该可以解决问题,这将创建一个带有在端口 8787 上运行的带有详细标志的wiremock 的 pod:

k exec -it wmock -- /bin/bash
root@wmock:/home/wiremock#
...
root@wmock:/home/wiremock# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.4  1.9 3370684 78964 ?       Ssl  18:37   0:02 java -cp /var/wiremock/lib/*:/var/wiremock/extensions/* com.github.tomakehurst.wiremock.standalone.WireMockServerRunner --port 8787 --verbose

【讨论】:

  • 端口转发不起作用,我必须手动运行“kubectl port-forward wmock 8787:8787”
猜你喜欢
  • 2017-10-18
  • 2021-03-13
  • 2018-09-11
  • 1970-01-01
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 2014-08-20
相关资源
最近更新 更多