Подключение к веб-сервису через сеть докеров - PullRequest
0 голосов
/ 08 февраля 2019

Существует сеть Docker: docker network create nginx-proxy

Затем в контейнерах Docker работают два веб-сервера.

  • первый контейнер, содержит веб-сервер, который предоставляет API (только дляиспользоваться другим приложением в той же сети докеров).Файл docker-compose:
version: '3'

services:
  my-api:
    image: node:alpine
    volumes:
      - ./:/api
    working_dir: /api
    command: npm run start

networks:
  default:
    external:
      name: nginx-proxy
  • Второй контейнер содержит приложение, которое использует API.Файл docker-compose:
version: '3'

services:
  my-app:
    image: node:alpine
    environment:
      API_URL: ???
    volumes:
      - ./:/app
    working_dir: /app
    command: npm run start

networks:
  default:
    external:
      name: nginx-proxy

Где-то в коде этого приложения nodejs он пытается подключиться к API с помощью следующего кода:

const fetch = require('node-fetch')
const apiUrl = process.env.API_URL

const getSomethingFromApi = jsonArgs =>
  fetch(apiUrl, {
    method: 'post',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(jsonArgs)
  })
    .then(response => response.json())

Как настроить файлы Docker для приложения во втором контейнере для использования API из первого контейнера?

...