MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Настройване на множество Docker контейнери и MongoDB за работа в CircleCI

Проблемът е свързан с точката на произход. Ако осъществите достъп до localhost от вътрешността на Docker контейнер, localhost сочи към самия докер, а не към хост сървъра, и следователно повикването не достига до хоста или другите докери.

Ако всичките ви докери са на една и съща хост машина, най-лесният начин да ги накарате да говорят помежду си чрез localhost е да споделяте мрежа между контейнерите при изпълнение. Първо стартирайте бекенда нормално, след това стартирайте другите контейнери с --net превключвател:

docker run [other params] -d -p 8080:8080 --name service-app-container service_app_image docker run [other params] -p 3000:3000 --net="container:service-app-container" --name client-app-container client_app_image

Сега всички портове, изложени и картографирани от който и да е от контейнерите, споделящи мрежата, трябва да бъдат достъпни под localhost от всеки от докерите.

  • За достъп до контейнера на приложението за услуги отвсякъде използвайте machine:8080.
  • За достъп до него локално от хост сървъра използвайте localhost:8080.
  • За вътрешен достъп от сервизното приложение използвайте locahost:8080.
  • За достъп до сервизното приложение от клиентското приложение използвайте localhost:8080

Клиентското приложение ще бъде изложено само през порт 3000 на света, ако го изложите и в докера, който има контейнера. Откритият порт не трябва да е същият, тъй като това обърква мрежата:

docker run [other params] -d -p 8080:8080 3001:3000 --name service-app-container service_app_image docker run [other params] -p 3000:3000 --net="container:service-app-container" client_app_image

Сега можете да получите достъп до клиентското приложение отвън с помощта на machine:3001.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да преименувам полета при извършване на търсене/проекция в MongoDB?

  2. Как да изчистите стари/застояли сесии, когато използвате хранилище за сесии на Mongo DB в Ruby on Rails 3.2

  3. Как да филтрирате масив в поддокумент с MongoDB

  4. Как да актуализирам стойността на конкретен вграден документ, вътре в масив, на конкретен документ в MongoDB?

  5. Намерете най-големия размер на документа в MongoDB