MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Konfigurowanie wielu kontenerów Docker i MongoDB do uruchamiania w CircleCI

Problem dotyczy miejsca pochodzenia. Jeśli uzyskujesz dostęp do hosta lokalnego z wnętrza kontenera Docker, host lokalny wskazuje sam docker, a nie serwer hosta, a zatem wywołanie nie dociera do hosta ani innych doków.

Jeśli wszystkie programy dokowane znajdują się na tym samym komputerze hosta, najłatwiejszym sposobem, aby komunikowały się ze sobą za pośrednictwem hosta lokalnego, jest współdzielenie sieci między kontenerami podczas uruchamiania. Najpierw uruchom backend normalnie, a następnie uruchom pozostałe kontenery za pomocą --net przełącznik:

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

Teraz wszystkie porty odsłonięte i zmapowane przez dowolny kontener współużytkujący sieć powinny być dostępne z poziomu hosta lokalnego z dowolnego okna dokującego.

  • Aby uzyskać dostęp do kontenera aplikacji usługi z dowolnego miejsca, użyj maszyny:8080.
  • Aby uzyskać do niego dostęp lokalnie z serwera hosta, użyj localhost:8080.
  • Aby uzyskać do niego dostęp wewnętrznie z aplikacji usługi, użyj locahost:8080.
  • Aby uzyskać dostęp do aplikacji usługi z aplikacji klienta, użyj localhost:8080

Aplikacja kliencka zostanie udostępniona światu przez port 3000 tylko wtedy, gdy zostanie ona również ujawniona w oknie dokowanym zawierającym kontener. Odsłonięty port nie powinien być taki sam, ponieważ to myli sieć:

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

Teraz możesz uzyskać dostęp do aplikacji klienckiej z zewnątrz za pomocą maszyny:3001.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Rozwiązanie Datastore do wyszukiwania tagów

  2. Mongodb :operator $in vs wiele pojedynczych zapytań

  3. MongooseJS/MongoDB wyszukaj dokładną frazę

  4. MongoDB v2.4.9 sortuj według pola logicznego

  5. MongoDB - usuń znaki nienumeryczne w polu