在Kubernetes窗格中,我有:
busybox
容器中运行的dind
容器fluentd
容器我了解dind
是否要访问fluentd
,它只需连接到本地主机:9880。但是,如果busybox
要访问fluentd
怎么办,如下图所示。我应该使用哪个地址?
答案 0 :(得分:0)
这些提示可能会帮助您:
1。第一种方法
在docker:latest容器内部,您最初尝试访问它的地方,该容器将在为docker:dind容器设置的任何主机名上可用。在这种情况下,您使用--name dind,因此curl dind:busybox_port将为您提供标准。
然后您可以从docker:dind容器(busybox)内部连接到fluentd,它将在localhost:9880上可用。
2。第二种方法
另一种方法是暴露[/
$ docker run --expose=1234 busybox
但是 EXPOSE 不允许通过已定义的端口与同一网络外部的容器或主机进行通信。为此,您需要发布端口。
发布端口并将其映射到主机
要在运行容器时发布端口,请在docker run上使用 -p 标志发布和映射一个或多个端口,或使用 -P 标志进行发布所有暴露的端口并将它们映射到高阶端口。
$ docker run -p 80:80/tcp -p 80:80/udp busybox
然后使用 localhost:9880
从busybox连接到流利您可以在此处找到更多信息:docker-in-docker
。
希望对您有帮助。