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

Błąd mongod kontenera Dockera podczas uruchamiania przez ssh

Problemem jest twoje podejście. Docker nie ma systemu init, do którego przywykłeś w tradycyjnych systemach. Docker to zastępowanie PID 1 z procesem określonym w CMD lub ENTRYPOINT Polecenia dockerfile. Na razie zignoruj ​​ENTRYPOINT , ponieważ zastępuje to, co Twój CMD jest uruchamiany z (zwykle jest to /bin/sh -c ). Musisz poinstruować docker, aby uruchomił usługę mongod w pliku Dockerfile za pomocą CMD polecenie, takie jak:

CMD usr/bin/mongod

A kiedy uruchomisz swój kontener, mongod będzie twoim PID 1. Teraz prawdopodobnie zastanawiasz się w tym momencie "Ale co z moim serwerem SSH?" a odpowiedź brzmi:nie uruchamiaj serwera SSH na swoich kontenerach dockera. Są niektóre przypadki użycia, w których uruchomienie serwera SSH jest w porządku, ale prawie wszystkie „normalne” powody (debugowanie, kontrola C&C itp.) są anulowane przez „najlepszą praktykę” uzyskiwania powłoki w kontenerze:

docker exec -it myContainer /bin/bash

Spowoduje to wrzucenie Cię do powłoki na uruchomionym kontenerze. Zaleceniem dotyczącym zarządzania konfiguracją i zmianami w kontenerze dockera jest użycie czegoś takiego jak Ansible. Pamiętaj jednak, że kontenery dockera są efemeryczne i nie powinieneś ponownie uruchamiać usług i zmieniać ich stanu konfiguracji. Jeśli potrzebujesz zmiany konfiguracji, zmień plik Dockerfile lub dane konfiguracyjne, a następnie uruchom nowy kontener. Powodzenia! Tutaj to trochę więcej informacji na temat Dockerizing MongoDB, ale pamiętaj, że opisana tam metoda zmienia ENTRYPOINT w pliku Dockerfile, który jest nieco bardziej zaangażowany i wymaga lepszego zrozumienia tego, co dzieje się w plikach Docker.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Użyj bluebirda dla mangusty, ale .bind nie jest funkcją

  2. Nie znaleziono modułu:Błąd:nie można rozpoznać „dns” podczas korzystania z MongoDB

  3. TypeError:path musi być ciągiem lub stosem Buffer MEAN

  4. MongoDB / Meteor / Eksportuj MONGO_URL do wdrożonych aplikacji

  5. Node.js ponowne użycie odniesienia MongoDB