Docker:显示带有链接的运行容器
我使用docker-compose
来创build一些容器并在它们之间创build链接。 假设我有一个容器叫做运行,它有一个链接到b
也运行。
我可以轻松检查正在运行的容器,以查看哪些容器链接到哪个容器?
我注意到docker ps
列出了正在运行的容器以及一些有用的信息,比如什么端口被暴露。 同样, docker-compose ps
提供了相同types的信息。 似乎也不包括显示链接的选项。
编辑
我试图让docker inspect
我正在运行的容器,按照Erazihel的回答,看起来我没有链接。
$ docker inspect -f "{{ .HostConfig.Links }}" docker_auth_1 []
也许docker-compose不像以前那样使用链接?
假设我有一个像这样docker-compose.yml
:
services: auth: image: my-auth-image depends_on: - db networks: - integration db: image: my-db-image networks: - integration networks: integration: external: true
也许我对“networking”的使用会影响链接的显示方式?
我在运行Docker版本17.06.0-ce-mac18(18433)的macOS Sierra上运行。
该命令显示集成networking中的容器。
docker network inspect -f '{{json .Containers}}' integration | python -m json.tool
要更具体:
docker network inspect -f '{{range .Containers}}{{println .Name .IPv4Address}}{{end}}' integration
编辑它以满足您的需求。
请参阅跨链接文档的通信 。
您可以使用Docker inspect
命令获取Docker container
的链接:
docker inspect -f "{{ .HostConfig.Links }}" <name_of_your_container>
以容器web
为例:
docker inspect -f "{{ .HostConfig.Links }}" web
它输出的东西类似于:
[/分贝:/networking/分贝]
您可以看到web
容器现在链接到db
容器web/db
。
这里是关于docker inspect
更多文档 。