Docker doanh nghiệp MongoDB
Docker là một nền tảng phát triển mạnh mẽ cho phép người dùng chứa phần mềm. Các thùng chứa này có thể chạy trên bất kỳ máy nào, cũng như trong đám mây công cộng hoặc riêng tư. Nhờ thời gian chạy nhẹ của Docker và khả năng chạy các quy trình một cách cô lập, nhiều vùng chứa có thể chạy cùng lúc trên cùng một máy ảo hoặc máy chủ Show
MongoDB là một dịch vụ cơ sở dữ liệu NoSQL với hiệu suất liền mạch và các tùy chọn để mở rộng quy mô. Nó sử dụng mô hình lưu trữ giống như JSON và không yêu cầu lược đồ cơ sở dữ liệu được xác định trước. Trong thế giới thực, nhiều dữ liệu không có cấu trúc—nó không tuân theo một lược đồ cụ thể. Cơ sở dữ liệu NoQuery rất hữu ích để lưu trữ dữ liệu đó. Bạn chỉ cần nhập dữ liệu và các trường mới sẽ được tạo. Bạn cũng có thể để trống các trường trong trường hợp thiếu nhiều dữ liệu MongoDB có thể chạy trong Docker container. Có một hình ảnh chính thức có sẵn trên Docker Hub chứa phiên bản cộng đồng MongoDB, được sử dụng trong môi trường phát triển. Đối với sản xuất, bạn có thể tùy chỉnh tạo vùng chứa bằng phiên bản doanh nghiệp của MongoDB Nếu bạn muốn sử dụng cơ sở dữ liệu MongoDB của mình trên một số máy, sử dụng bộ chứa Docker để lưu trữ MongoDB là một cách tiếp cận tuyệt vời – bạn có thể dễ dàng tạo các phiên bản biệt lập mới. Hơn nữa, trong quá trình phát triển, việc khởi động phiên bản Docker sẽ dễ dàng hơn là định cấu hình máy chủ theo cách thủ công. Nếu bạn đang phát triển nhiều ứng dụng, bạn có thể bắt đầu nhiều vùng chứa cùng nhau bằng tệp 2Trong bài viết này, bạn sẽ tìm hiểu các phương pháp hay nhất để chạy bộ chứa MongoDB. Bạn cũng sẽ tìm hiểu cách lưu trữ ứng dụng Flask đơn giản và cách sử dụng khối lượng Docker để duy trì dữ liệu trong vùng chứa Docker Thành phần DockerTrước khi đi sâu vào chi tiết triển khai, hãy dành chút thời gian để giới thiệu một số khái niệm cơ bản của Docker. Tóm lại, bộ chứa Docker là các phần mềm độc lập đóng gói mọi thứ cần thiết để chạy một số mã, tệp, phần phụ thuộc, cấu hình, v.v. Docker daemon, 3, quản lý các Docker container và xử lý các yêu cầu thông qua Docker Engine APITriển khai MongoDB trong DockerBây giờ, điều đầu tiên bạn muốn làm để thiết lập triển khai MongoDB là cài đặt Docker, việc này có thể được thực hiện trực tiếp từ thiết bị đầu cuối của bạn. Tuy nhiên, nên sử dụng Docker Desktop để có trải nghiệm liền mạch Chạy MongoDB trong Docker ContainerĐể phát triển, tốt hơn 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ì phiên bản được lưu trữ trên đám mây) để tiết kiệm tài nguyên. Bạn có thể kéo hình ảnh MongoDB mới nhất và chạy nó trong bộ chứa Docker. Để sản xuất, ứng dụng có thể kết nối với cơ sở dữ liệu được lưu trữ trên đám mây bằng MongoDB Atlas hoặc MongoDB Enterprise Server Trong quá trình phát triển, bạn sẽ sử dụng Docker để lưu trữ cục bộ phiên bản MongoDB. Bắt đầu bằng cách kéo hình ảnh cho phiên bản MongoDB mà bạn muốn bằng cách chỉ định thẻ tương ứng
Bạn có thể khởi động máy chủ MongoDB chạy phiên bản MongoDB mới nhất bằng Docker bằng lệnh sau
Điều này sẽ lấy hình ảnh chính thức mới nhất từ Docker Hub. Việc thêm cờ 4 sẽ đảm bảo rằng bộ chứa Docker chạy dưới dạng quy trình nền, tách biệt với trình bao. Thẻ 5 biểu thị cảng mà cảng container bị ràng buộc trở lại 27017. Bạn có thể kết nối với MongoDB trên 6Để thay đổi số cổng, bạn có thể thay đổi đối số cờ 5 thành 8 để sử dụng 9. Bạn cũng có thể sử dụng cờ 0 để đề cập đến bài đăng. Sử dụng hình ảnh mới nhất giúp bạn tránh được các lỗi phiên bản. Thực hiện điều này để chạy MongoDB trên 1
Hoặc chọn cổng của riêng bạn
Ngoài ra, nếu bạn kéo hình ảnh chỉ định thẻ phiên bản, hãy chạy bộ chứa Docker bằng lệnh này
Sau đó sử dụng lệnh sau để mở trình bao MongoDB. Tôi đã sử dụng 2 làm tên vùng chứa tùy ý, mặc dù bạn có thể thay thế 2 bằng 4 hoặc bất kỳ tên vùng chứa nào khác mà bạn chọn
Shell MongoDB tương tác của bạn sẽ trông như thế này Vỏ MongoDB tương tác cho vùng chứaLệnh 5 sẽ hiển thị tất cả cơ sở dữ liệu hiện có của bạn. Tại đây, bạn có cơ sở dữ liệu quản trị, cấu hình và cục bộ, ban đầu trống. Để biết chi tiết về các chức năng khác nhau có sẵn từ trình bao, hãy nhập “trợ giúp”. Điều này sẽ cung cấp danh sách một số phương pháp cơ sở dữ liệu có sẵn, bao gồm các lệnh để hiển thị các bộ sưu tập và thông tin của cơ sở dữ liệuLệnh MongoDbBạn có thể tương tác với phiên bản MongoDB được lưu trữ cục bộ của mình thông qua trình bao này trực tiếp từ thiết bị đầu cuối của bạn. Bạn cũng có thể mở CLI vùng chứa bằng các nút trên Docker Desktop máy tính để bàn docker. chạy containerĐể kiểm tra nhật ký vùng chứa của bạn, bạn có thể sử dụng lệnh 6 theo sau là tên vùng chứa của bạn Đầu ra nhật ký docker cho vùng chứaBạn cũng có thể kiểm tra nhật ký của MongoDB bằng lệnh 6
Bằng cách sử dụng cờ 8, nhật ký vùng chứa sẽ được cập nhật trên thiết bị đầu cuối của bạn theo thời gian thựcKết nối từ một vùng chứa khácKhi máy chủ MongoDB đang chạy trên Docker, bạn cũng có thể chạy ứng dụng Flask trong Docker. Có một Dockerfile trong kho lưu trữ chứa một bộ lệnh để xây dựng hình ảnh Docker và chạy nó. Trong trường hợp này, kết nối cả hai vùng chứa với mạng Docker được chia sẻ là một ý tưởng hay. Điều này sẽ đảm bảo tính bảo mật, vì bạn sẽ không cần xuất bản các cổng MongoDB lên máy chủ. Để tạo một mạng và kết nối bộ chứa MongoDB với nó, hãy sử dụng các lệnh sau
Vùng chứa khách hàng của bạn cũng nên tham gia vào 9. Vùng chứa của bạn sẽ có thể tham chiếu vùng chứa MongoDB bằng cách sử dụng URL 0Dữ liệu liên tục với khối lượngKhi chạy MongoDB trong Docker, một trong những thách thức chính là lưu trữ. Thông thường, người dùng muốn có thể duy trì dữ liệu có chọn lọc cho vùng chứa. Một phương pháp hay là sử dụng các ổ đĩa để đảm bảo dữ liệu vẫn tồn tại ngay cả sau khi vùng chứa bị dừng hoặc trình nền Docker được khởi động lại. Theo mặc định, hình ảnh MongoDB lưu trữ dữ liệu của nó trong thư mục 1. Bạn có thể gắn ổ đĩa vào vị trí này để kích hoạt tính bền bỉ của dữ liệu. Sử dụng lệnh này để tạo vùng chứa 4 với khối lượng Docker có tên 3 được gắn trên đó 0Nếu bạn muốn kiểm tra khối lượng của mình, bạn có thể thực hiện bằng lệnh 4Bạn có thể kiểm tra tất cả các ổ đĩa hiện có để hiển thị ổ đĩa nào được đính kèm với vùng chứa nào bằng cách sử dụng 5 1 2Định cấu hình máy chủ của bạnNếu bạn muốn thay đổi cấu hình MongoDB mặc định, bạn có thể sử dụng cờ 6 để chuyển vị trí tới tệp văn bản có cấu hình. File cấu hình theo định dạng YAML. Đây là lệnh để chỉ định một vị trí cấu hình nhất định 3Bảo vệBạn cũng có thể thêm xác thực vào bộ chứa MongoDB của mình để đảm bảo an toàn dữ liệu. Điều này sẽ vô hiệu hóa nhân viên trái phép kết nối với máy chủ của bạn Thêm tài khoản người dùng của bạn bằng cách đặt tên người dùng và mật khẩu bằng các biến môi trường trong quá trình tạo vùng chứa. Sử dụng cờ 7 để chỉ định các biến môi trường 8 và 9 4Do đó, cơ sở dữ liệu sẽ được bắt đầu với tài khoản người dùng 0. Người dùng mới này sẽ được cấp quyền root. Vì người dùng root sẽ có quyền kiểm soát truy cập mọi thứ, điều quan trọng là phải cung cấp một mật khẩu an toàn. Trong trường hợp này, bạn có thể chuyển vị trí tệp bí mật làm đầu vào cho biến môi trường 1. Mật khẩu của bạn sẽ không hiển thị khi sử dụng 2 để xem các biến môi trường vùng chứa. Để chạy MongoDB với Docker bằng tên người dùng và mật khẩu của bạn, hãy sử dụng mã bên dưới 5Ứng dụng Flask để quản lý cơ sở dữ liệu sinh viênTrong phần này, bạn sẽ tạo một ứng dụng lưu trữ đơn giản, nơi MongoDB sẽ lưu trữ các bản ghi điểm của sinh viên. Để bắt đầu, bạn sẽ muốn mở Docker Desktop và xóa các vùng chứa mà bạn vừa tạo, vì bây giờ bạn sẽ tạo thêm một vài vùng chứa nữa. Sau đó, trong ứng dụng web Flask, bạn sẽ thêm chức năng sau
Điều này sẽ giúp đảm bảo rằng cơ sở dữ liệu đang hoạt động như mong đợi. Bắt đầu bằng cách sao chép kho lưu trữ GitHub này 6Kho lưu trữ này bao gồm bốn phần chính
Để truy cập máy chủ từ ứng dụng Flask được lưu trữ cục bộ của bạn, bạn sẽ cần xuất một cổng bằng cờ 5
Phiên bản MongoDB của bạn sẽ có thể truy cập được vào ngày 8. Để trực quan hóa và phân tích nó bằng GUI, bạn có thể sử dụng MongoDB CompassĐể chạy ứng dụng Flask, trước tiên bạn cần cài đặt Python—bất kỳ phiên bản Python3 nào cũng được Tiếp theo, cài đặt các phụ thuộc bằng cách chạy đoạn mã sau trong thiết bị đầu cuối của bạn 8Để dễ phát triển, bạn sẽ chạy ứng dụng Python bên ngoài vùng chứa và chạy Mongo bên trong một. Hãy tiếp tục và chạy ứng dụng Python Flask với 9 ngay bây giờChạy ứng dụng FlaskSử dụng giao diện Flask, bạn có thể thêm, cập nhật và xem các bản ghi. Để bắt đầu, hãy truy cập 0Cơ sở dữ liệu điểm học sinhĐiền vào một bản ghi mới và nhấp vào Gửi điểm. Trang này sẽ xác nhận trình của bạn Bài nộp mới được chấp nhận cho sinh viênTiếp theo, quay lại trang chủ và nhấp vào Nhận điểm của tất cả học sinh. Trang này sẽ hiển thị tất cả hồ sơ học sinh của bạn Danh sách học sinh và điểmThêm một vài mục khác và đảm bảo rằng ứng dụng đang hoạt động như mong đợi. Bạn cũng có thể chỉnh sửa bài nộp cho một học sinh nhất định. Sau khi thêm một vài bản ghi, cơ sở dữ liệu của bạn có thể trông như thế này Danh sách học sinh và điểmĐối với vùng chứa này, bạn đã không đính kèm một ổ đĩa. Vì vậy, khi bạn tạo một vùng chứa mới từ cùng một hình ảnh MongoDB, nó sẽ bắt đầu với một cơ sở dữ liệu trống. Truy cập Docker Desktop và dừng container đang chạy 4. Bạn cũng có thể sử dụng 2 để dừng container khỏi bến. Để xem danh sách các container đang chạy và thông tin chi tiết của chúng, hãy sử dụng 3. Sau đó, tạo một vùng chứa khác cho MongoDB từ thiết bị đầu cuối 9Bây giờ, hãy truy cập 0 và nhấp vào Nhận điểm của tất cả học sinhLần này, bạn sẽ thấy rằng tất cả dữ liệu trước đó đã bị mất và thay vào đó, bạn đang bắt đầu với một cơ sở dữ liệu trống. Đây là nơi khối lượng có ích Dừng container 5. Tạo một vùng chứa có tên là 6 và đính kèm một ổ đĩa vào đó. Mọi dữ liệu được tạo trong vòng đời của vùng chứa đó sẽ bị hủy sau khi vùng chứa bị xóa. Tuy nhiên, bạn muốn duy trì dữ liệu trên máy cục bộ của mình, vì vậy hãy tiếp tục và gắn ổ đĩa bằng cách sử dụng đối số 7 0Sau đó, đi đến 0 và thêm một số bản ghi mới vào cơ sở dữ liệu sinh viênCơ sở dữ liệu hồ sơ học sinh (Tania, Sam và Beth)Khi bạn dừng vùng chứa này và tạo một vùng chứa mới, bạn sẽ cho phép vùng chứa mới sử dụng dung lượng của vùng chứa trước đó. Dừng vùng chứa này và tạo một vùng chứa mới với thẻ 9 theo sau là tên của vùng chứa có âm lượng bạn muốn gắn vào vùng chứa này—trong trường hợp này là 6 1Bây giờ, khi bạn truy cập vào 0, bạn sẽ nhận thấy rằng tất cả dữ liệu bạn đã thêm trước đó vẫn còn nguyên vẹn, do Docker đã đính kèm âm lượng sau khi bắt đầu. Các ổ đĩa vẫn tồn tại cho đến khi bạn xóa chúng bằng lệnh 2 hoặc bằng cách sử dụng cờ 3 khi hủy một thùng chứa có 4Nếu ứng dụng của bạn đang chạy bên trong một bộ chứa, thì bạn có thể chạy MongoDB như một phần của cùng mạng Docker như ứng dụng của bạn bằng cách sử dụng 5. Với phương pháp này, bạn sẽ kết nối với MongoDB trên 6 từ các ứng dụng được đóng gói khác trong mạngPhần kết luậnTrong bài viết này, bạn đã lưu trữ máy chủ MongoDB của mình bằng Docker. Bạn đã tạo một ứng dụng Flask để kiểm tra xem máy chủ có hoạt động như mong đợi hay không và bạn đã học cách đính kèm ổ đĩa vào vùng chứa của mình để xem cách các vùng chứa hoạt động khi có và không có chúng Có rất nhiều lợi ích khi sử dụng vùng chứa như một phần cuộc sống hàng ngày của bạn với tư cách là nhà phát triển phần mềm. Bộ chứa đảm bảo tính nhất quán giữa các hệ điều hành và bằng cách sử dụng chúng, bạn có thể đảm bảo tính đồng nhất trong toàn nhóm. Triển khai vùng chứa tương đối dễ dàng vì môi trường sản xuất và quá trình phát triển của bạn sẽ nhất quán. Bằng cách chạy MongoDB trong Docker, bạn có thể tạo các vùng chứa riêng biệt mới từ cùng một hình ảnh và bạn có thể kết nối ổ đĩa được liên kết với vùng chứa này với vùng chứa khác Earthly là một công cụ tự động hóa để quản lý tất cả các thành phần, hình ảnh và vùng chứa Docker của bạn. Với Earthly, bạn có thể thực hiện tất cả các bản dựng của mình trong các thùng chứa và đảm bảo tính đồng nhất giữa các máy Trong khi bạn ở đây Earthly là khuôn khổ CI/CD dễ dàng Soumi Bardhan Tôi đang làm việc trong lĩnh vực thị giác máy tính và phát triển AI. Tôi viết bài kỹ thuật trên phương tiện. Đã hai lần tham gia mùa tài liệu của Google và yêu thích mã nguồn mở MongoDB có thể chạy trên Docker không?MongoDB có thể chạy trong Docker Container không? . Hình ảnh chính thức có sẵn trên Docker Hub chứa phiên bản cộng đồng của MongoDB và được duy trì bởi nhóm Docker. Hình ảnh này có thể được sử dụng trong môi trường phát triển. MongoDB can run in a container. The official image available on Docker Hub contains the community edition of MongoDB and is maintained by the Docker team. This image can be used in a development environment.
MongoDB có miễn phí cho Doanh nghiệp không?Có, nó miễn phí sử dụng . Hãy xem xét MongoDB Atlas nếu bạn không muốn tự mình quản lý mongodb.
MongoDB Docker có miễn phí không?MongoDB là một chương trình cơ sở dữ liệu định hướng tài liệu đa nền tảng và miễn phí .
Doanh nghiệp MongoDB là gì?MongoDB Enterprise Server là phiên bản thương mại của MongoDB , bao gồm các khả năng bổ sung như công cụ lưu trữ trong bộ nhớ cho thông lượng cao và độ trễ thấp . |