将docker-compose环境变量的值转换为服务ip地址

时间:2019-05-09 23:19:14

标签: reactjs docker

我想将环境变量的值(它是同一docker-compose.yml文件中的服务)转换为相应容器的ip,我无法实现。

docker-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 个答案:

答案 0 :(得分:2)

尝试改用服务或容器名称。它们将由docker守护程序解决。

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

  client:
    container_name: myclient
    ...
    environment:
      - REACT_APP_API_HOST=myserver
      - REACT_APP_API_PORT=3001