我有一个Docker Compose堆栈应用程序。该应用程序的一个功能是,它具有一个.NET Core后端,该后端作为堆栈中的容器运行,它可以生成运行数据处理任务的新临时容器。这些容器需要与堆栈存在于同一网络中,以便能够访问数据库。 .NET Core后端容器包含必要的docker工具,并且可以使用docker-in-docker方法执行docker
命令。
我需要知道如何从堆栈中的容器内的 来确定堆栈所使用的网络的名称。仅仅知道容器本身正在运行的网络的名称就足够了。但是,我不能也不希望依赖于任何硬编码的值。另一种选择是简单地能够毫无疑问地知道我正在其中运行的容器的名称,因此我可以使用docker inspect
来获取网络名称。
Docker-compose似乎确实使用了相对可预测的名称(例如,后端容器使用myapp_backend_1
,网络使用myapp_default
),但据我所知,这些名称不能保证,因此我不能依赖将此类名称硬编码到应用程序中。
摘要:
docker inspect
来检索网络名称。