如何从容器内部获取由Docker组成的堆栈中的Docker网络的名称?

时间:2019-06-21 17:08:25

标签: docker docker-compose docker-in-docker

我有一个Docker Compose堆栈应用程序。该应用程序的一个功能是,它具有一个.NET Core后端,该后端作为堆栈中的容器运行,它可以生成运行数据处理任务的新临时容器。这些容器需要与堆栈存在于同一网络中,以便能够访问数据库。 .NET Core后端容器包含必要的docker工具,并且可以使用docker-in-docker方法执行docker命令。

我需要知道如何从堆栈中的容器内的 来确定堆栈所使用的网络的名称。仅仅知道容器本身正在运行的网络的名称就足够了。但是,我不能也不希望依赖于任何硬编码的值。另一种选择是简单地能够毫无疑问地知道我正在其中运行的容器的名称,因此我可以使用docker inspect来获取网络名称。

Docker-compose似乎确实使用了相对可预测的名称(例如,后端容器使用myapp_backend_1,网络使用myapp_default),但据我所知,这些名称不能保证,因此我不能依赖将此类名称硬编码到应用程序中。

摘要:

  • 需要能够从Docker容器内的 检索Docker容器所连接的网络的名称。
  • 或者,需要能够从该容器中确定容器的名称​​ ,以便我可以使用docker inspect来检索网络名称。

1 个答案:

答案 0 :(得分:0)

您可以从容器内部获取有关容器的所有详细信息,并使用docker远程api。

我已经回答了这个here

请检查并告诉我是否有帮助。