Search code examples
dockerdocker-composedocker-swarm

How can one Docker container call another Docker container


I have two Docker containers

  1. A Web API
  2. A Console Application that calls Web API

Now, on my local web api is local host and Console application has no problem calling the API.However, I have no idea when these two things are Dockerized, how can I possibly make the Url of Dockerized API available to Dockerized Console application?

i don't think i need a Docker Compose because I am passing the Url of API as an argument of the API so its just the matter of making sure that the Dockerized API's url is accessible by Dockerized Console

Any ideas?


Solution

  • The problem can be solved easily if using compose feature. With compose, you just create one configuration file (docker-compose.yml) like this :

    version: '3'
    services:
      db:
        image: postgres
      web:
        build: .
        command: python3 manage.py runserver 0.0.0.0:8000
        volumes:
          - .:/code
        ports:
          - "8000:8000"
        depends_on:
          - db
    

    To make it run, just call up like this :

    docker-compose up 
    

    This is the best way to run all your stack, so, check this reference : https://docs.docker.com/compose/

    Success!