Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dind中的容器访问同一Kubernetes吊舱中的另一个容器_Kubernetes_Dind - Fatal编程技术网

dind中的容器访问同一Kubernetes吊舱中的另一个容器

dind中的容器访问同一Kubernetes吊舱中的另一个容器,kubernetes,dind,Kubernetes,Dind,在Kubernetes吊舱中,我有: busybox在dind容器中运行的容器 fluentdcontainer 我知道如果dind想要访问fluentd,它只需要连接到localhost:9880。但是如果busybox想要访问fluentd,如下图所示,该怎么办。我应该使用哪个地址 这些提示可能会帮助您: 1。第一种方法 从docker:latest容器内部,即您最初尝试访问它的位置,它将在为docker:dind容器设置的任何主机名上可用。在本例中,您使用了--name dind,因此

在Kubernetes吊舱中,我有:

  • busybox
    dind
    容器中运行的容器
  • fluentd
    container
我知道如果
dind
想要访问
fluentd
,它只需要连接到localhost:9880。但是如果
busybox
想要访问
fluentd
,如下图所示,该怎么办。我应该使用哪个地址


这些提示可能会帮助您:

1。第一种方法

从docker:latest容器内部,即您最初尝试访问它的位置,它将在为docker:dind容器设置的任何主机名上可用。在本例中,您使用了--name dind,因此curl dind:busybox_port将为您提供标准

然后您可以从docker:dind容器(busybox)内部连接到fluentd,它将在localhost:9880上可用

2。第二种方法

另一种方法是公开[/…],在这种情况下,我们假设BusyBook和fluentd位于不同的网络中 您还可以在docker run命令中指定此选项,例如:

$ docker run --expose=1234 busybox
但是,EXPOSE将不允许通过定义的端口与同一网络外部的容器或主机进行通信。要允许这种情况发生,您需要发布端口

发布端口并将其映射到主机

要在运行容器时发布端口,请使用docker run上的-p标志发布和映射一个或多个端口,或使用-p标志发布所有公开的端口并将它们映射到高阶端口

$ docker run -p 80:80/tcp -p 80:80/udp busybox
然后使用localhost:9880从busybox连接到fluentd

您可以在此处找到更多信息:


我希望这能有所帮助。

这也适用于库伯内特斯吗?是的,当然。