繁体   English   中英

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

[英]How to reach services with the URL in Docker-Compose

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

# 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服务发送数据。 因此,我在front-end服务的源代码中使用了 url http://apm-server:8200但我总是收到 connectionRefused 错误。 如果我在单个 docker-compose 文件中定义所有服务,它可以工作,但我想将 docker-compose 文件分开。 有人可以帮助我吗? :)

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

http://172.17.0.1:8200

访问您的apm-server容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM