Эти советы могут вам помочь:
1. Первый подход
Внутри docker: последний контейнер, где вы пытались получить к нему доступ изначально, он будет доступен на любом хосте, указанном для контейнера docker: dind. В этом случае вы использовали --name dind, поэтому curl dind: busybox_port даст вам стандарт.
И затем вы можете изнутри docker: контейнер dind (busybox) подключиться к fluentd, он будет доступен на localhost: 9880.
2. Второй подход
Другой подход заключается в EXPOSE [/...], и в этом случае мы предполагаем, что busyboox и fluentd находятся в разных сетях
Вы также можете указать это в команде запуска Docker, например:
$ docker run --expose=1234 busybox
Но EXPOSE не позволит осуществлять связь через определенные порты с контейнерами вне той же сети или с хост-машиной. Чтобы это произошло, вам нужно опубликовать порты.
Публикация портов и сопоставление их с хостом
Чтобы опубликовать порт при запуске контейнера, используйте флаг -p при запуске докера, чтобы опубликовать и сопоставить один или несколько портов, или флаг -P , чтобы опубликовать все открытые порты и сопоставьте их с портами высокого порядка.
$ docker run -p 80:80/tcp -p 80:80/udp busybox
А затем подключитесь из busybox к fluentd, используя localhost: 9880
Вы можете найти больше информации здесь: docker-in-docker
.
Надеюсь, это поможет.