Как получить доступ к каждому docker контейнерам - PullRequest
0 голосов
/ 15 апреля 2020

В моем docker -композиции у меня есть 2 контейнера.

version: '3.7'
services:
  app:
    container_name: myApp
    image: myImage
    restart: always
    depends_on:
      - mongodb
    networks:
      - myNetwork
    ports:
      - 9000:3000
    environment:
      ROOT_URL: http://192.168.0.122:9000
      MONGO_URL: mongodb://mongodb/pos-db
      PORT: 3000
      METEOR_SETTINGS: '{ "private": { "APP_NAME": "pos-db" } }'
  mongodb:
    container_name: mongodb
    image: mongo
    restart: always
    networks:
      myNetwork:
        aliases:
          - mongodb
    ports:
      - 4001:27017
networks:
  myNetwork:
    external:
      name: myNetwork

Я хочу получить доступ от container myApp до container mongodb для резервного копирования данных. Как сделать так, чтобы эти 2 контейнера обращались друг к другу?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020
version: '3.7'
services:
  app:
    container_name: myApp
    image: myImage
    restart: always
    depends_on:
      - mongodb
    ports:
      - 9000:3000
    environment:
      ROOT_URL: http://192.168.0.122:9000
      MONGO_URL: mongodb://mongodb:4001/pos-db
      PORT: 3000
      METEOR_SETTINGS: '{ "private": { "APP_NAME": "pos-db" } }'
  mongodb:
    container_name: mongodb
    image: mongo
    restart: always
    ports:
      - 4001:27017

Вам не нужно указывать сеть. Docker контейнеры в одном docker файле составления видят себя из коробки. Вы можете получить доступ к mon go из контейнера приложения на mongodb: // mongodb: 4001

0 голосов
/ 15 апреля 2020

Вы можете разместить обе услуги в одной сети. Когда вы используете одну и ту же сеть, вы можете связаться с обоими по имени контейнера.

...