2020-08-18 14:45:37 +03:00
.. meta ::
:description: Docker networking with Hasura
:keywords: hasura, docs, deployment, network, docker
.. _docker_networking:
Docker networking
=================
.. contents :: Table of contents
:backlinks: none
:depth: 2
:local:
Introduction
------------
2020-09-08 23:14:36 +03:00
Sometimes you might want to connect Hasura running in Docker with APIs (e.g. auth webhooks, event triggers, remote schemas) that are either running outside of Docker or in a different Docker container.
2020-08-18 14:45:37 +03:00
Depending on the setting, the network config is different. This section shows how to connect in each of these use cases.
Network config
--------------
.. rst-class :: api_tabs
.. tabs ::
.. tab :: Linux
.. list-table ::
:stub-columns: 1
:header-rows: 1
* - Connection
- Config
- Comment
* - **Hasura to API (outside Docker)**
2020-09-08 23:14:36 +03:00
- 1. With `` --net=host `` , `` localhost:3000 ``
2020-08-18 14:45:37 +03:00
2. Otherwise, `` <docker-bridge-ip>:3000 `` , e.g. `` 172.17.0.1:3000 ``
- 1. Assuming the API is running on port `` 3000 ``
2. The Docker bridge IP can be found via `` ifconfig ``
* - **API (outside Docker) to Hasura**
- `` localhost:8080 ``
- Hasura runs on port `` 8080 `` by default
* - **Hasura to API (both in docker-compose)**
- service name, e.g.: `` api:3000 ``
- Assuming the API is running on port `` 3000 ``
* - **API to Hasura (both in docker-compose)**
- service name, e.g.: `` hasura:8080 ``
- Hasura runs on port `` 8080 `` by default
* - **Hasura to API (both running with separate docker run)**
- Docker internal IP address
- Can be obtained with `` docker inspect ``
* - **API to Hasura (both running with separate docker run)**
- Docker internal IP address
- Can be obtained with `` docker inspect ``
.. tab :: Mac
.. list-table ::
:stub-columns: 1
:header-rows: 1
* - Connection
- Config
- Comment
* - **Hasura to API (outside Docker)**
- `` host.docker.internal:3000 ``
2020-08-18 15:29:58 +03:00
- Assuming the API is running on port `` 3000 ``
2020-08-18 14:45:37 +03:00
* - **API (outside Docker) to Hasura**
- `` localhost:8080 ``
- Hasura runs on port `` 8080 `` by default
* - **Hasura to API (both in docker-compose)**
- service name, e.g.: `` api:3000 ``
- Assuming the API is running on port `` 3000 ``
* - **API to Hasura (both in docker-compose)**
- service name, e.g.: `` hasura:8080 ``
- Hasura runs on port `` 8080 `` by default
* - **Hasura to API (both running with separate docker run)**
- Docker internal IP address
- Can be obtained with `` docker inspect ``
* - **API to Hasura (both running with separate docker run)**
- Docker internal IP address
- Can be obtained with `` docker inspect ``
.. tab :: Windows
.. list-table ::
:stub-columns: 1
:header-rows: 1
* - Connection
- Config
- Comment
* - **Hasura to API (outside Docker)**
- `` docker.for.win.localhost:3000 ``
2020-08-18 15:29:58 +03:00
- Assuming the API is running on port `` 3000 ``
2020-08-18 14:45:37 +03:00
* - **API (outside Docker) to Hasura**
- `` localhost:8080 ``
- Hasura runs on port `` 8080 `` by default
* - **Hasura to API (both in docker-compose)**
- service name, e.g.: `` api:3000 ``
- Assuming the API is running on port `` 3000 ``
* - **API to Hasura (both in docker-compose)**
- service name, e.g.: `` hasura:8080 ``
- Hasura runs on port `` 8080 `` by default
* - **Hasura to API (both running with separate docker run)**
- Docker internal IP address
- Can be obtained with `` docker inspect ``
* - **API to Hasura (both running with separate docker run)**
- Docker internal IP address
- Can be obtained with `` docker inspect ``
Advanced
--------
Learn more about Docker specific networking in the `Docker documentation <https://docs.docker.com/network/> `__ .