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

docker-compose wait-for.sh nie może czekać mongodb

Uważam, że w tym przypadku problem polega na tym, że używasz skryptu wait-for.sh, który wykorzystuje netcat polecenie (patrz https://github.com/eficode/ czekaj na/blob/master/czekaj na#L24 ), ale obraz node:10 nie ma zainstalowanego netcata...

Sugerowałbym albo utworzenie niestandardowego obrazu na podstawie obrazu node:10 i dodanie netcata, albo użycie innego podejścia (najlepiej rozwiązania opartego na nodejs) w celu sprawdzenia, czy mongodb jest dostępny

Przykładowy plik Docker do tworzenia własnego niestandardowego obrazu wyglądałby mniej więcej tak

FROM node:10

RUN apt update && apt install -y netcat

Następnie możesz zbudować ten obraz, zastępując image: node:10 z

build: 
  dockerfile: Dockerfile
  context: .

i powinno być dobrze



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Automatycznie generowane pole dla MongoDB przy użyciu Spring Boot

  2. Projekcja $elemMatch w node.js

  3. Jak śledzić żądania MongoDB z aplikacji konsolowej

  4. Znajdź zagnieżdżony dokument podrzędny MongoDB na poziomie n

  5. Zapytanie MongoDB we wszystkich kolekcjach podzielonych na fragmenty bez klucza shardkey