Bitnami MongoDB là gì?

MongoDB(R) là một hệ thống cơ sở dữ liệu NoSQL có khả năng mở rộng, hiệu suất cao và định hướng tài liệu. Nó lưu trữ dữ liệu trong JSON, cho phép các lược đồ linh hoạt và năng động. Nó được sử dụng bởi một số công ty lớn nhất trên thế giới và được điều chỉnh để mang lại hiệu suất cao mà không mất đi tính linh hoạt

MongoDB(R) hỗ trợ tập hợp và nó là cơ sở dữ liệu được lựa chọn cho tìm kiếm dựa trên địa lý, tìm kiếm biểu đồ và tìm kiếm văn bản. Nó là một thành phần thiết yếu của các ứng dụng MEAN

từ chối trách nhiệm. Các nhãn hiệu tương ứng được đề cập trong ưu đãi thuộc sở hữu của các công ty tương ứng. Chúng tôi không cung cấp giấy phép thương mại cho bất kỳ sản phẩm nào trong số này. Danh sách này có giấy phép nguồn mở. MongoDB(R) được điều hành và duy trì bởi MongoDB, đây là một dự án hoàn toàn tách biệt với Bitnami

Tại sao nên sử dụng Ứng dụng được Bitnami chứng nhận?

Hình ảnh được chứng nhận của Bitnami luôn cập nhật, bảo mật và được xây dựng để hoạt động ngay lập tức

Bitnami đóng gói các ứng dụng theo tiêu chuẩn ngành và liên tục theo dõi tất cả các thành phần và thư viện để tìm lỗ hổng và cập nhật ứng dụng. Khi xác định được bất kỳ mối đe dọa hoặc cập nhật bảo mật nào, Bitnami sẽ tự động đóng gói lại các ứng dụng và đẩy các phiên bản mới nhất lên thị trường đám mây

Đối với các nhà phát triển đang xây dựng các ứng dụng và API gốc trên đám mây cho Kubernetes, Bitnami cung cấp nhiều vùng chứa và biểu đồ Helm để giảm bớt quy trình. Những nội dung sẵn sàng sử dụng này giúp dễ dàng phát triển và triển khai các ứng dụng một cách nhất quán, tuân theo các phương pháp hay nhất và tập trung vào mã thay vì cấu hình cơ sở hạ tầng. Bộ chứa và biểu đồ Bitnami cũng luôn được bảo mật, tối ưu hóa và cập nhật, vì vậy bạn có thể yên tâm rằng ứng dụng của mình luôn có quyền truy cập vào các tính năng ngôn ngữ và bản sửa lỗi bảo mật mới nhất

Để minh họa những lợi ích này, loạt bài gồm hai phần này sẽ hướng dẫn bạn quy trình phát triển và triển khai một Node mẫu. js REST API cục bộ bằng cách sử dụng bộ chứa Bitnami. Sau đó, khi API của bạn ổn định hoặc sẵn sàng ở mức hợp lý, nó sẽ chỉ cho bạn cách cung cấp API cho nhóm người đánh giá hoặc người dùng rộng hơn bằng cách triển khai API trên Kubernetes bằng biểu đồ Bitnami Helm

Trong phần đầu tiên này, bạn sẽ tạo và chạy một API REST mẫu cục bộ trên hệ thống phát triển của mình bằng cách sử dụng khung công tác Sails. Bạn cũng sẽ tạo một dịch vụ MongoDB cục bộ để lưu trữ dữ liệu API, đồng thời tích hợp và kiểm tra API REST của bạn với dịch vụ MongoDB này. Để thực hiện các tác vụ này, bạn có thể sử dụng Nút hiện có của mình. js hoặc nếu không có, bạn có thể sử dụng các hình ảnh bộ chứa Bitnami sau

Giả định và điều kiện tiên quyết

Hướng dẫn này giả định rằng

Bước đầu tiên là tạo một Node khung. ứng dụng js. Bài viết này sẽ sử dụng Bitnami Node. js và khung công tác Sails MVC phổ biến; . Ví dụ, nếu bạn đã có một Node. js, bạn có thể sử dụng môi trường đó và bỏ qua các lệnh Docker bên dưới

  • Bắt đầu bằng cách tạo một thư mục cho ứng dụng của bạn và biến nó thành thư mục làm việc hiện tại

  • Sử dụng các lệnh Docker sau để tạo và bắt đầu Bitnami Node. js trên máy chủ của bạn

    docker create -v $(pwd):/app -t --net="host" --name node bitnami/node:13
    docker start node
    

    Đối số -v cho lệnh đầu tiên yêu cầu Docker gắn thư mục hiện tại của máy chủ vào đường dẫn /app của bộ chứa, để hiệu ứng của các lệnh chạy trong bộ chứa được nhìn thấy trên máy chủ. Tham số –net=“host” yêu cầu Docker sử dụng ngăn xếp mạng của máy chủ cho vùng chứa. Vùng chứa được đặt tên là nút

    Khi vùng chứa đang chạy, hãy kết nối với bảng điều khiển vùng chứa bằng lệnh bên dưới. Điều này sẽ cung cấp cho bạn một trình bao lệnh và cho phép bạn sử dụng nút. js có sẵn trong hình ảnh cho các tác vụ tiếp theo

    docker exec -it node /bin/bash
    

  • Cài đặt Sails và sau đó sử dụng Sails CLI để tạo giàn giáo cho ứng dụng khung. Khi được nhắc về loại ứng dụng, hãy chọn ứng dụng “Trống”

    npm install -g sails
    sails new .
    

    Khi giàn giáo ứng dụng đã được tạo, hãy khởi động ứng dụng

  • Theo mặc định, ứng dụng Sails bắt đầu ở chế độ phát triển và chạy ở cổng 1337. Duyệt đến http. //DOCKER-HOST-ĐỊA CHỈ. 1337, trong đó DOCKER-HOST-ADDRESS là địa chỉ IP của máy chủ của bạn và xác nhận rằng bạn thấy trang chào mừng của Sails được hiển thị bên dưới

    Bitnami MongoDB là gì?

  • Thoát khỏi bảng điều khiển vùng chứa. Thao tác này sẽ chấm dứt quy trình ứng dụng Sails, mặc dù bộ chứa sẽ tiếp tục chạy trong nền

Bước 2. Tạo và bắt đầu dịch vụ MongoDB cục bộ

MongoDB là phần mềm lưu trữ dữ liệu phổ biến và có thể mở rộng cho Node. ứng dụng js. Hình ảnh MongoDB của Bitnami giúp dễ dàng tạo dịch vụ MongoDB cục bộ có thể được sử dụng để lưu trữ, truy xuất và sửa đổi dữ liệu liên quan đến API REST của bạn. Ngoài ra, nếu bạn đã có máy chủ MongoDB và cơ sở dữ liệu MongoDB trên máy chủ của mình, bạn có thể sử dụng máy chủ đó và bỏ qua các lệnh Docker bên dưới

Tạo và bắt đầu dịch vụ cơ sở dữ liệu MongoDB bằng bộ chứa Bitnami MongoDB trên máy chủ của bạn. Nếu muốn, bạn có thể thay thế thông tin đăng nhập cơ sở dữ liệu và các biến khác được hiển thị bên dưới bằng các giá trị của riêng bạn, nhưng hãy ghi lại chúng vì bạn sẽ cần chúng trong bước tiếp theo

docker create -e MONGODB_USERNAME=myapp -e MONGODB_PASSWORD=myapp -e MONGODB_DATABASE=mydb -e MONGODB_ROOT_PASSWORD=root --net="host" --name mongodb bitnami/mongodb
docker start mongodb

Các biến môi trường được chuyển đến lệnh đầu tiên đặt mật khẩu quản trị viên cho phiên bản MongoDB, đồng thời tạo cơ sở dữ liệu mới có tên mydb với thông tin xác thực người dùng tương ứng. Cơ sở dữ liệu này sẽ được sử dụng để lưu trữ dữ liệu cho API REST. Như trước đây, tham số –net=“host” yêu cầu Docker sử dụng ngăn xếp mạng của máy chủ cho vùng chứa này. Vùng chứa được đặt tên là mongodb và sau khi bắt đầu, dịch vụ MongoDB sẽ khả dụng trên máy chủ Docker tại cổng 27017

Bước 3. Tạo và định cấu hình điểm cuối API REST

Tại thời điểm này, bạn có một nút khung. js và dịch vụ cơ sở dữ liệu MongoDB. Bây giờ bạn có thể bắt đầu tạo API REST của mình. Như trước đây, nếu bạn đang sử dụng một Nút hiện có. js, hãy bỏ qua các lệnh Docker bên dưới

  • Kết nối lại với bảng điều khiển vùng chứa bằng lệnh bên dưới

    docker exec -it node /bin/bash
    

  • Sails đi kèm với trình tạo tích hợp cho các điểm cuối API. Sử dụng công cụ này để tạo giàn giáo cho điểm cuối API REST mẫu mới cho các đối tượng Mục. Theo mặc định, điểm cuối này sẽ được hiển thị tại /item URI

  • Cài đặt bộ điều hợp MongoDB cho Sails

    npm install sails-mongo --save  
    

    Thoát khỏi Docker container sau khi cài đặt hoàn tất

  • Làm theo các bước được nêu trong tài liệu Sails để định cấu hình ứng dụng đã tạo để sử dụng MongoDB để lưu trữ dữ liệu. Đầu tiên, chỉnh sửa myapp/config/datastores. js và sửa đổi mục lưu trữ dữ liệu mặc định như hình bên dưới

    default: {
      adapter: 'sails-mongo',
      url: 'mongodb://myapp:myapp@localhost/mydb'
    }
    

    Nếu bạn đã sử dụng các giá trị khác nhau khi tạo bộ chứa MongoDB hoặc nếu bạn đang sử dụng một bản cài đặt MongoDB khác, hãy nhớ thay thế các giá trị hiển thị ở trên nếu cần

    Sau đó, cập nhật thuộc tính id và di chuyển trong myapp/config/models. tập tin js

    migrate: 'alter',
    id: { type: 'string', columnName: '_id' },
    

  • Tạo mô hình dữ liệu cho đối tượng Mục API REST. Đối với bài viết này, hãy sử dụng một mô hình đơn giản chỉ với hai thuộc tính. tên và số lượng. Chỉnh sửa myapp/api/models/Item. js và cập nhật nó trông như thế này

    ________số 8

  • Kết nối lại với bảng điều khiển vùng chứa. Khởi động ứng dụng và đặt nó ở chế độ nền

    docker exec -it node /bin/bash
    sails lift &
    

    Thoát khỏi bộ chứa Docker sau khi ứng dụng bắt đầu

Như trước đây, ứng dụng sẽ bắt đầu ở chế độ phát triển và khả dụng tại cổng 1337 của máy chủ

Bước 4. Kiểm tra API REST

API REST của bạn hiện đang hoạt động và được định cấu hình để sử dụng MongoDB. Bây giờ bạn có thể tiến hành kiểm tra nó từ máy chủ của mình bằng cách gửi cho nó nhiều loại yêu cầu HTTP khác nhau và kiểm tra các phản hồi. Nếu bạn đang sử dụng bộ chứa Bitnami, hãy nhớ rằng chúng đang sử dụng ngăn xếp mạng của máy chủ lưu trữ và do đó sẽ có sẵn tại các cổng 1337 (Nút. js) và 27017 (MongoDB) tương ứng

  • Tại bảng điều khiển máy chủ, hãy gửi yêu cầu POST tới API bằng cách sử dụng curl để tạo bản ghi mục mới

    docker exec -it node /bin/bash
    
    0

    Bạn sẽ thấy đầu ra tương tự như hình bên dưới

    Bitnami MongoDB là gì?

  • Kiểm tra xem bản ghi mục có được tạo bằng yêu cầu GET không

    docker exec -it node /bin/bash
    
    1

    Bạn sẽ thấy đầu ra tương tự như hình bên dưới

    Bitnami MongoDB là gì?

    Bạn cũng có thể kết nối với bộ chứa MongoDB đang chạy và sử dụng mongo CLI để xem dữ liệu trong cơ sở dữ liệu MongoDB

    docker exec -it node /bin/bash
    
    2

    Bạn sẽ thấy đầu ra tương tự như hình bên dưới

    Bitnami MongoDB là gì?

  • Sửa đổi bản ghi mục bằng yêu cầu PUT. Thay thế trình giữ chỗ ID trong lệnh bên dưới bằng mã định danh duy nhất của tài liệu từ các lệnh trước đó

    docker exec -it node /bin/bash
    
    3

    Bạn sẽ thấy đầu ra tương tự như hình bên dưới

    Bitnami MongoDB là gì?

  • Xóa bản ghi mục bằng yêu cầu DELETE

    docker exec -it node /bin/bash
    
    4

    Bạn sẽ thấy đầu ra tương tự như hình bên dưới

    Bitnami MongoDB là gì?

    Bạn cũng có thể kết nối với bộ chứa MongoDB đang chạy và sử dụng mongo CLI để xác nhận rằng dữ liệu đã bị xóa khỏi cơ sở dữ liệu MongoDB

    docker exec -it node /bin/bash
    
    5

    Bạn sẽ thấy đầu ra tương tự như hình bên dưới

    Bitnami MongoDB là gì?

Tại thời điểm này, bạn có một Nút đang hoạt động. js REST API được tích hợp với cơ sở dữ liệu MongoDB. Tuy nhiên, nó hiện chỉ khả dụng trên máy cục bộ của bạn và chỉ khi các vùng chứa đang chạy. Điều này tốt cho sự phát triển cục bộ, nhưng lại trở thành nút thắt cổ chai khi bạn muốn cung cấp cho người khác để xem xét và thử nghiệm

Đó là nơi mà phần thứ hai của loạt bài này xuất hiện. Tiếp tục thêm các tính năng vào API của bạn và khi bạn hài lòng với nó, hãy chuyển sang bài viết kết luận và tìm hiểu cách cung cấp API REST của bạn cho một nhóm lớn hơn bằng cách chứa nó, triển khai nó trên Kubernetes và kết nối nó với dịch vụ MongoDB cũng đang chạy

Bitnami kết nối với MongoDB như thế nào?

Bắt đầu .
Lấy thông tin xác thực ứng dụng và máy chủ
Hiểu cấu hình MongoDB mặc định
Lấy thông tin đăng nhập gốc MongoDB
Kết nối với MongoDB

Bitnami có phải là một thùng chứa không?

Bộ chứa Bitnami cung cấp cho bạn các phiên bản ổn định mới nhất của ngăn xếp ứng dụng, cho phép bạn tập trung vào mã hóa thay vì cập nhật các phần phụ thuộc hoặc thư viện lỗi thời. Và giống như hình ảnh máy ảo và đám mây Bitnami, bộ chứa Bitnami được bảo mật, tối ưu hóa, nhất quán và luôn cập nhật.

Bitnami có phải là Docker không?

Bitnami và Docker chủ yếu được phân loại lần lượt là các công cụ "Phần mềm máy chủ" và "Nền tảng máy ảo & bộ chứa" .

Tôi có nên chạy MongoDB trong vùng chứa không?

Để phát triển, tốt hơn hết là kết nối với một phiên bản MongoDB chạy bên trong bộ chứa Docker cục bộ (thay vì một phiên bản được lưu trữ trên đám mây . Bạn có thể kéo hình ảnh MongoDB mới nhất và chạy nó trong bộ chứa Docker.