Mongodb init script docker
Trong bài đăng này, chúng ta sẽ tìm hiểu cách thiết lập bộ bản sao MongoDB bằng Docker. Chúng ta cũng sẽ tìm hiểu cách sử dụng docker-compose để tự động hóa quy trình này Show Khi lưu trữ dữ liệu trong MongoDB, chúng ta có thể có nhiều máy chủ Mongo (được gọi là bản sao) giữ một bản sao của dữ liệu được lưu trữ. Bằng cách này, ngay cả khi một trong các máy chủ gặp sự cố, chúng tôi vẫn có bản sao lưu để truy xuất dữ liệu từ quảng cáoKỹ thuật này được sử dụng để làm cho các ứng dụng trở nên linh hoạt hơn trước các lỗi cơ sở dữ liệu, vì ứng dụng có thể tiếp tục chạy ngay cả khi một máy chủ cơ sở dữ liệu bị lỗi
Cài đặt#Đầu tiên, chúng ta cần cài đặt Docker trên hệ thống của mình. Nếu đang sử dụng máy tính cá nhân, bạn có thể cài đặt Docker desktop Để xác minh rằng bạn đã cài đặt docker, hãy chạy
Điều này sẽ xuất ra số phiên bản Tiếp theo, chúng ta cần đảm bảo rằng docker daemon của chúng ta đang chạy. Nếu bạn chạy lệnh quảng cáoBạn sẽ có thể xem danh sách các hình ảnh bạn hiện có trên hệ thống của mình Tiếp theo, chúng tôi sẽ nhận được phiên bản mới nhất của hình ảnh Mongo chính thức, bằng cách chạy
Tuyệt quá. Bây giờ chúng ta đã sẵn sàng định cấu hình máy chủ Mongo của mình Tổng quan về kiến trúc bản sao#Chúng tôi sẽ có ba vùng chứa từ hình ảnh Mongo, tất cả đều nằm trong mạng vùng chứa Docker của riêng họ Hãy đặt tên cho chúng là 0, 1 và 2. Đây sẽ là ba phiên bản Mongo của bộ bản sao của chúng tôiChúng tôi cũng sẽ hiển thị từng cái trong số chúng cho máy cục bộ của chúng tôi để chúng tôi có thể truy cập chúng bằng giao diện trình bao Mongo từ máy cục bộ của chúng tôi Mỗi trong số ba bộ chứa Mongo sẽ có thể giao tiếp với tất cả các bộ chứa khác trong mạng quảng cáoTạo một mạng mới#Để xem tất cả các mạng hiện có trên hệ thống của bạn, hãy chạy lệnh
Chúng tôi sẽ thêm một mạng mới có tên là 3
Mạng mới bây giờ sẽ được thêm vào danh sách các mạng của bạn 0Thiết lập Container của chúng tôi#Để khởi động vùng chứa đầu tiên của chúng tôi, 0 hãy chạy lệnh 2Hãy xem từng phần của lệnh này làm gì
Thiết lập 2 vùng chứa khác bằng cách chạy 9
Cấu hình sao chép cơ sở dữ liệu #Bây giờ chúng ta đã thiết lập và chạy tất cả các phiên bản Mongo của mình, hãy thêm chúng vào một bộ bản sao Kết nối với vỏ Mongo trong bất kỳ vùng chứa nào 0Lệnh này sẽ mở trình bao Mongo trong bộ chứa 0 đang chạy của chúng tôi (nhưng bạn cũng có thể chạy nó từ bộ chứa 1 hoặc 2)Bên trong vỏ Mongo, trước tiên chúng tôi tạo cấu hình của mình 4quảng cáoKhóa 4 đầu tiên trong cấu hình, phải giống với cờ 5 được đặt cho các phiên bản mongod của chúng tôi, đó là 6 trong trường hợp của chúng tôi. Sau đó, chúng tôi liệt kê tất cả các 7 chúng tôi muốn trong bộ bản sao của mìnhVì chúng tôi đã thêm tất cả các phiên bản Mongo vào mạng docker của mình. Tên của họ trong mỗi trình phân giải bộ chứa thành địa chỉ IP tương ứng của họ trong mạng 3Cuối cùng, bắt đầu bộ bản sao bằng cách chạy lệnh sau trong trình bao Mongo 0Nếu lệnh thành công, lời nhắc của bạn sẽ thay đổi để phản ánh rằng cơ sở dữ liệu hiện tại là một phần của bộ bản sao 1Điều này có nghĩa là trình bao hiện được liên kết với cơ sở dữ liệu 9 trong cụm 6 của chúng tôiHãy chơi xung quanh với bộ bản sao mới của chúng tôi để đảm bảo nó hoạt động như dự kiến. (Tôi đang bỏ qua dấu nhắc 1 để dễ đọc)Trước tiên, hãy chèn một tài liệu vào cơ sở dữ liệu chính của chúng tôi 2Sau đó, chúng tôi tạo một kết nối mới tới một trong các cơ sở dữ liệu thứ cấp của chúng tôi (nằm trên 1) và kiểm tra xem tài liệu của chúng tôi đã được sao chép chưa 3quảng cáo
Có vẻ như tài liệu tương tự cũng có trong trường trung học của chúng tôi Sử dụng Docker Compose#Chúng tôi có thể tự động hóa các bước được mô tả ở trên bằng cách sử dụng Docker soạn thảo Trước tiên, chúng ta cần tạo một tệp 9 khai báo ba máy chủ bản sao, cũng như một máy chủ khởi tạo chạy mã để định cấu hình các bộ bản sao 4quảng cáoĐể bắt đầu lắp ráp này, bạn có thể chạy 5Sau khi các vùng chứa hoàn tất thiết lập, bạn sẽ thấy một số thông báo “Kết nối được chấp nhận” trông như thế này 6Sau này, bạn có thể liệt kê các vùng chứa đang hoạt động bằng cách chạy 7Tên vùng chứa có thể thay đổi dựa trên tên thư mục hiện tại của bạn. Bạn có thể chọn bất kỳ bộ chứa mongo nào và chạy trình bao mongo bằng cách thực thi 8
Tiến về phía trước#Sử dụng Docker, chúng tôi có thể thiết lập và chạy bản sao Mongo trong ~5 phút Mặc dù thiết lập này rất tuyệt để thử nghiệm với các bộ bản sao, nhưng cần thực hiện một số biện pháp phòng ngừa trước khi chuyển nó sang sản xuất quảng cáo
Cuối cùng, thay vì chạy một loạt các tập lệnh shell, bạn có thể thấy thuận tiện hơn khi tự động hóa toàn bộ quy trình này bằng cách sử dụng các công cụ tự động hóa đa vùng chứa như docker-compose |