Преобразовать значение переменной окружения docker-compose в IP-адрес службы - PullRequest
2 голосов
/ 10 мая 2019

Я хочу преобразовать значение переменной окружающей среды (это служба в том же файле docker-compose.yml) в ip этого соответствующего контейнера, и я не могу этого достичь.

докер-compose.yml

version: '3'
services:
  server:
    restart: always
    build:
      dockerfile: Dockerfile
      context: ./server
    ports:
      - '3001:3001'
    volumes: 
      - /app/node_modules
      - ./server:/app
  client:
    restart: always
    build:
      dockerfile: Dockerfile
      context: ./client
    ports:
      - '3000:3000'
    volumes: 
      - /app/node_modules
      - ./client:/app
    environment:
      - REACT_APP_API_HOST=server #I WANT TO TRANSFORM THIS TO THE SERVICE IP
      - REACT_APP_API_PORT=3001

Когда я console.log (process.env.REACT_APP_API_HOST) я получаю «сервер» в консоли, и я хочу, чтобы это был IP-адрес сервера (это api)

Спасибо.

1 Ответ

2 голосов
/ 10 мая 2019

Попробуйте вместо этого полагаться на имена служб или контейнеров.Они будут разрешены демоном докера.

version: '3'
services:
  server:
    container_name: myserver
    ...

  client:
    container_name: myclient
    ...
    environment:
      - REACT_APP_API_HOST=myserver
      - REACT_APP_API_PORT=3001
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...