MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lỗi mongod vùng chứa Docker khi bắt đầu qua ssh

Vấn đề ở đây là cách tiếp cận của bạn. Docker không có hệ thống init như bạn vẫn quen trên các hệ thống truyền thống. Những gì docker làm là thay thế PID 1 với quy trình bạn chỉ định trong CMD hoặc ENTRYPOINT Các lệnh Dockerfile. Hiện tại, hãy bỏ qua ENTRYPOINT , vì nó thay thế những gì CMD của bạn được chạy với (thông thường, nó là /bin/sh -c ). Bạn cần hướng dẫn docker khởi động dịch vụ mongod của mình trong Dockerfile bằng CMD lệnh, như:

CMD usr/bin/mongod

Và khi bạn chạy vùng chứa của mình, mongod sẽ là PID 1. Bây giờ, bạn có thể tự hỏi tại thời điểm này "Nhưng còn máy chủ SSH của tôi thì sao?" và câu trả lời là:Không chạy máy chủ SSH trên các vùng chứa docker của bạn. Có một số trường hợp sử dụng trong đó việc chạy máy chủ SSH là ổn, nhưng hầu như tất cả các lý do "bình thường" (gỡ lỗi, C&C, v.v.) đều bị vô hiệu hóa bằng "phương pháp hay nhất" để lấy shell trên vùng chứa của bạn:

docker exec -it myContainer /bin/bash

Điều này sẽ đưa bạn vào một trình bao trên vùng chứa đang chạy của bạn. Đề xuất ở đây để quản lý cấu hình và các thay đổi trong vùng chứa docker của bạn là sử dụng một cái gì đó như Ansible. Tuy nhiên, hãy nhớ rằng các bộ chứa docker là tạm thời và bạn không nên khởi động lại các dịch vụ và thay đổi trạng thái cấu hình trên chúng. Nếu bạn cần thay đổi cấu hình, hãy thay đổi Dockerfile hoặc dữ liệu cấu hình, sau đó bắt đầu một vùng chứa mới. Chúc may mắn! Tại đây là một chút thông tin về Dockerizing MongoDB, nhưng hãy nhớ rằng phương pháp được mô tả ở đó sẽ thay đổi ENTRYPOINT trong Dockerfile, có liên quan nhiều hơn một chút và yêu cầu hiểu rõ hơn về những gì đang diễn ra trong Dockerfiles.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách trả về các tài liệu con từ một đối tượng trong một mảng với Meteor và MongoDB

  2. kết nối mongodb được tạo trong mongolab thông qua ứng dụng java

  3. cách truy xuất các đối tượng một phần từ mảng đối tượng trong một trường trong mongodb

  4. Mùa xuân:Một lớp có thể là cả @Document và @Table không

  5. Kiểm tra sự tồn tại của đối tượng trong mongo bằng gopkg.in/mgo.v2