重新启动在Docker容器中运行的应用程序会中断堆栈网络

时间:2018-09-07 18:33:39

标签: docker docker-compose

我有两个节点应用程序Foo和Bar在Docker容器中运行。 Foo配置为通过对Bar:3000的HTTP请求通过Docker Compose默认网络与Bar通信。

我正在使用nodemon在代码更改时自动重新启动容器内的应用程序。但是,每当Bar重置时,网络就会中断,以至于Foo以后发出的任何请求都将失败,并出现“连接被拒绝”错误,直到重新启动整个堆栈为止。

这是docker-compose.yml中用于这些服务的部分。

services:
  Bar:
    build:
      context: auth
      args:
        NPM_TOKEN: ${NPM_TOKEN}
    environment:
      - MONGO_URI=${MONGO_URI}
      - JWT_KEY=${JWT_KEY}
      - OKTA_ISSUER=${OKTA_ISSUER}
      - OKTA_CLIENT_ID=${OKTA_CLIENT_ID}
      - OKTA_API_BASE_URL=${OKTA_API_BASE_URL}
      - OKTA_API_USERS_TOKEN=${OKTA_API_USERS_TOKEN}
      - NODE_PORT=3000
      - NPM_TOKEN=${NPM_TOKEN}
      - GOOGLE_reCAPTCHA_SECRET=${GOOGLE_reCAPTCHA_SECRET}
    depends_on:
      - mongo
    ports:
      - 8082:3000
    volumes:
      - ./auth/:/usr/src/app
    command: npm run dev
  Foo:
    build:
      context: api
      args:
        NPM_TOKEN: ${NPM_TOKEN}
    environment:
      - MONGO_URI=${MONGO_URI}
      - JWT_KEY=${JWT_KEY}
      - NPM_TOKEN=${NPM_TOKEN}
      - AUTH_ENDPOINT_URL=http://auth:3000
      - CHAT_ENDPOINT_URL=http://localhost:8083
      - MANAGEMENT_ENDPOINT_URL=http://localhost:8084
      - GROUPCHAT_ENDPOINT_URL=http://localhost:8085
    ports:
      - 9000:3000
    volumes:
      - ./api:/usr/src/app
    depends_on:
      - mongo
    command: npm run dev -- -L

0 个答案:

没有答案