如何从一个docker容器中获取正在运行的服务列表

时间:2018-06-01 23:35:03

标签: node.js docker

我在Docker中运行了一个node.js应用程序(使用docker-compose)。

我希望它能够使用其他服务列表(名称,标签等)。

是否有一种来自一个容器中的方式来获取我可以访问的其他服务的列表?

以下是一个例子:

version: "3"
services:
  service_1:
    container_name: service_1
    labels: label_1
  service_2:
    container_name: service_2
    labels: label_2
  service_3
    container_name: service_3
    labels: label_3

service_1内,有没有办法获取其他服务的列表(service_2,service_3等)?

2 个答案:

答案 0 :(得分:2)

如果将Docker UNIX套接字安装到容器中,则可以从容器内使用Docker的引擎REST API。
为此,您需要将REGEXP_REPLACE(number,'[^'' ''-/0-9:-@A-Z''[''-`a-z{-~]', 'xy') ext_number 附加到用于启动容器的命令。之后,您可以使用该套接字调用API:

-v /var/run/docker.sock /var/run/docker.sock / npm i -s request request-promise-native

yarn add request request-promise-native

可以在此处找到Engine API的文档:https://docs.docker.com/engine/api/v1.24/

答案 1 :(得分:0)

首先需要运行docker守护程序(windows),然后键入docker ps以检查您的服务是否正在运行。