docker - 如何使用 Docker-Compose 中的 URL 访问服务

标签 docker networking docker-compose

我正在尝试使用两个不同的 docker-compose.yml 文件设置应用程序环境。第一个在默认网络中创建服务 elastic-apm-stack_default .为了访问两个 docker-compose 文件的服务,我使用了 external第二个 docker-compose 文件中的命令。这两个文件看起来像这样:

# elastic-apm-stack/docker-compose.yml
services: 
  apm-server:
    image: docker.elastic.co/apm/apm-server:6.2.4
    build: ./apm_server
    ports:
      - 8200:8200
    depends_on:
      - elasticsearch
      - kibana
  ...

# sockshop/docker-compose.yml
services:
  front-end:
    ...
    ...
    networks:
      - elastic-apm-stack_default
networks:
  elastic-apm-stack_default:
    external: true

现在front-end第二个文件中的服务需要向apm-server发送数据第一个文件中的服务。因此,我使用了网址 http://apm-server:8200front-end的源代码中服务,但我总是收到 connectionRefused 错误。如果我在单个 docker-compose 文件中定义所有服务,它可以工作,但我想将 docker-compose 文件分开。
有人可以帮助我吗? :)

最佳答案

Docker 容器在网络中运行 172.17.0.1所以,你可以使用 url

http://172.17.0.1:8200
访问您的 apm-server 容器。

关于docker - 如何使用 Docker-Compose 中的 URL 访问服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50473024/

相关文章:

c# - 使用C#/C++,是否可以限制网络流量?

docker - Buildmaster 不监听端口

docker - 一旦部署了群集集群,就需要 'local' vm吗?

python - Celery Worker 在 docker 容器中运行时不选择任务

docker - 发出EC2停止实例时如何使用docker-compose正常停止docker服务

docker - Docker-让新容器与预先运行的容器通信

docker - 在Windows 7上升级docker-compose版本

docker - Docker-是否有必要将镜像推送到远程服务器?

python - 将十进制转换为十六进制python

networking - Write In Golang是否需要检查返回的 "n"