我在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等)?
答案 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
以检查您的服务是否正在运行。