简体   繁体   中英

How to reach services with the URL in Docker-Compose

Im trying to setup an application environment with two different docker-compose.yml files. The first one creates services in the default network elastic-apm-stack_default . To reach the services of both docker-compose files I used the external command within the second docker-compose file. Both files look like this:

# 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

Now the front-end service in the second file needs to send data to the apm-server service in the first file. Therefore, I used the url http://apm-server:8200 in the source code of the front-end service but i always get an connectionRefused error. If I define all services in a single docker-compose file it works but I want to separate the docker-compose files. Could anyone help me? :)

Docker containers run in network 172.17.0.1
So, you may use url

http://172.17.0.1:8200

to get access to your apm-server container.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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