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