我可以通过内部网址到达docker启动的服务吗?

问题描述 投票:0回答:2

我正在使用docker容器运行应用程序。我用docker-compose运行它。例如,有一个arangodb依赖:

  arangodb:
image: localartifactiory/arangodb:3.2.5
volumes_from:
  - arangodb_data
ports:
  - 8530:8529
environment:
  - ARANGO_ROOT_PASSWORD=admin

我可以使用http://localhost:8530来获得服务,但我无法在浏览器中使用服务名称http://arangodb:8530http://arangodb:8529来访问它,看起来我的应用程序通过http://arangodb:8529地址连接到此数据库。

您是否可以告诉我是否可以使用浏览器中的基于服务的URL来访问我的服务,还是只能在容器内部访问的内部docker地址?

docker docker-compose
2个回答
1
投票

由于embedded DNS server in user-defined networks,服务名称网址可用。此DNS服务器仅用于解析属于网络的容器的DNS请求。

检查Query docker embedded dns from host以了解如何使用嵌入式DNS服务器解析DNS名称


1
投票
  • 要从外部访问服务(从浏览器),您需要使用主机的IP_ADDRESS。主机是指Windows / Ubuntu / Mac,实际的机器地址。
  • 要从一个容器内部访问服务到另一个容器,您可以使用容器名称(例如http://arangodb:8529)。

如果您需要任何进一步的细节,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.