0

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

我需要知道如何从堆栈中的容器中找出堆栈正在使用的网络的名称。只需知道容器本身运行的网络名称就足够了。但是我不能也不想依赖任何硬编码的值。另一种方法是能够毫无疑问地知道我在其中运行的容器的名称,这样我就可以docker inspect用来提取网络名称。

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

概括:

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

1 回答 1

0

您可以从容器中获取有关容器的所有详细信息,使用 docker 远程 API。

我已经在这里回答了这个问题

请检查并让我知道它是否有帮助。

于 2019-06-21T17:12:04.697 回答