pie*_*r92 5 docker docker-swarm
我如何从创建的服务中获取节点 ip 和容器 ip(在管理器和工作节点上运行)?我想检查这个以研究 docker swarm 引擎的循环负载平衡并开发新的负载平衡。
要获取节点 IP 地址,您可以使用以下命令:
docker node inspect self --format '{{ .Status.Addr }}'
要获取服务IP地址,只需在最后添加service-id,例如:
docker node inspect self --format '{{ .Status.Addr }}' service-id
要获取容器 IP 地址,请使用:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container-id
我假设您的意思是使用 docker 命令在终端上获取所有这些信息,以进行编程语言集成检查docker-py
要获取经理和工人信息,您可以使用 docker node 命令:
docker node ls
Run Code Online (Sandbox Code Playgroud)
为您提供每个节点的详细信息,例如:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
j74jxqb4wz38l2odl2seiiuzh * db-cluster-1 Ready Active Leader
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它还包括一个“经理状态”字段
docker service ps <SERVICE-NAME>
Run Code Online (Sandbox Code Playgroud)
为您提供每个服务节点的列表、其 ID 和状态,例如:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
ypd65x4i06nn db-cluster.1 severalnines/mariadb:latest db-cluster-1 Running Running 2 hours ago
278rdv7m4015 db-cluster.2 severalnines/mariadb:latest db-cluster-1 Running Running 2 hours ago
z9zr6xgnyuob db-cluster.3 severalnines/mariadb:latest db-cluster-1 Running Running 2 hours ago
Run Code Online (Sandbox Code Playgroud)
然后您可以使用检查来获取任何对象的更详细信息,例如:
docker inspect ypd65x4i06nn
Run Code Online (Sandbox Code Playgroud)
检查 NetworksAttachments 部分以获取网络详细信息
| 归档时间: |
|
| 查看次数: |
6597 次 |
| 最近记录: |