Hướng dẫn mongodb docker
Show MongoDB là một công cụ cơ sở dữ liệu NoSQL hướng tài liệu đã trở nên phổ biến với các nhà phát triển cho mô hình lưu trữ giống JSON của nó. MongoDB thường cung cấp ánh xạ trực tiếp hơn giữa mã và dữ liệu liên tục, tạo điều kiện lặp lại nhanh chóng và giúp giải quyết sự không phù hợp trở kháng khá lớn của cơ sở dữ liệu SQL truyền thống. Docker là một nền tảng đóng gói các thành phần ứng dụng của bạn dưới dạng các vùng chứa riêng biệt. Việc chứa cơ sở dữ liệu MongoDB của bạn làm cho nó có thể di động qua các môi trường, cho phép bạn tạo một phiên bản ở bất kỳ đâu có sẵn Docker. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách bắt đầu chạy MongoDB trong Docker. Cân nhắc chính là lưu trữ dữ liệu: Các bộ chứa Docker là tạm thời theo mặc định và mất dữ liệu của chúng khi chúng dừng lại. Bạn sẽ cần gắn một ổ vào vùng chứa MongoDB của mình để kích hoạt tính bền bỉ. Khởi động vùng chứa MongoDBBạn có thể bắt đầu một vùng chứa MongoDB hữu
ích với việc docker run -d -p 27017: 27017 --name example-mongo mongo: mới nhất Điều này sẽ cung cấp cho bạn một máy chủ trực tiếp chạy phiên bản MongoDB mới nhất. Nó sử dụng hình ảnh chính thức có sẵn trên Docker Hub. Cổng vùng chứa Hình ảnh MongoDB cũng bao gồm trình bao docker executive -it example-mongo mongo Thao tác này sẽ khởi chạy phiên shell Mongo tương tác trong thiết bị đầu cuối của bạn. Nó lý tưởng để nhanh chóng tương tác với phiên bản cơ sở dữ liệu của bạn mà không cần thêm bất kỳ phụ thuộc bên ngoài nào. Bạn có thể kiểm tra nhật ký của Mongo bằng lệnh docker logs example-mongo --follow
Kết nối từ một vùng chứa khácNếu bạn đang triển khai Mongo trong Docker, rất có thể bạn sẽ muốn kết nối từ một vùng chứa khác, chẳng hạn như máy chủ API của bạn. Tốt nhất bạn nên tham gia cả hai vào một mạng Docker được chia sẻ. Điều này có nghĩa là bạn sẽ không cần xuất bản các cổng Mongo lên máy chủ của mình, giảm khả năng tấn công của bạn. mạng docker tạo mạng mongo docker run -d --network mongo-network --name example-mongo mongo: mới nhất Vùng chứa “khách hàng” của bạn cũng phải tham gia vào Dữ liệu liên tục với khối lượngBạn phải sử dụng khối lượng Docker nếu bạn đang lưu trữ cơ sở dữ liệu thực trong vùng chứa Mongo của mình. Việc sử dụng một ổ đĩa sẽ duy trì dữ liệu của bạn để dữ liệu không bị mất khi bạn dừng vùng chứa hoặc khởi động lại daemon Docker. Hình ảnh MongoDB được định cấu hình để lưu trữ tất cả dữ liệu của nó trong thư mục docker run -d -p 27017: 27017 --name example-mongo -v mongo-data: / data / db mongo: mới nhất Phiên bản này của lệnh Thêm một số dữ liệu vào Mongo: sử dụng test-db db.demos.save ({foo: "bar"}) Tiếp theo, khởi động lại vùng chứa của bạn: docker khởi động lại example-mongo Dữ liệu đã thêm trước đó sẽ vẫn nguyên vẹn khi Docker gắn lại ổ đĩa sau khi khởi động lại. Bạn có thể kiểm tra điều này bằng cách kết nối lại
với Mongo và truy vấn bộ sưu tập sử dụng test-db db.demos.find ({foo: "bar"}) Bạn có thể xóa vùng chứa và chạy một vùng chứa hoàn toàn mới với cùng khối lượng Các khối lượng vẫn tồn tại cho đến khi bạn xóa chúng bằng Thêm xác thựcVùng chứa MongoDB mới thiếu xác thực để bất kỳ ai cũng có thể kết nối với máy chủ của bạn. Không để lộ các cổng của vùng chứa trên hệ thống nối mạng mà kẻ tấn công có thể truy cập. Hệ thống xác thực của Mongo nên được sử dụng để bảo mật đúng cách cho cơ sở dữ liệu của bạn. Hình ảnh Mongo Docker cung cấp một khởi động nhanh thuận tiện cho hệ thống xác thực tương đối phức tạp của Mongo. Bạn có thể thêm một tài khoản
người dùng ban đầu bằng cách thiết lập docker run -d -p 27017: 27017 --name example-mongo -v mongo-data: / data / db -e MONGODB_INITDB_ROOT_USERNAME = example-user -e MONGODB_INITDB_ROOT_PASSWORD = example-pass mongo: mới nhất Thao tác này sẽ khởi động cơ sở dữ liệu với một tài khoản người dùng mới được gọi là Xem xét các quyền hạn được liên kết với tài khoản này, việc cung cấp mật khẩu của nó dưới dạng một biến môi trường văn bản thuần túy có thể là một vấn đề. Một cách tiếp cận an toàn hơn là nhập mật khẩu dưới dạng tệp: docker run -d -p 27017: 27017 --name example-mongo -v mongo-data: / data / db -e MONGODB_INITDB_ROOT_USERNAME = example-user -e MONGODB_INITDB_ROOT_PASSWORD_FILE = / run / secret / mongo-root-pw mongo: mới nhất Việc gắn các biến môi trường của hình ảnh bằng Cấu hình máy chủ của bạnCách dễ nhất để cung cấp
các giá trị cấu hình Mongo tùy chỉnh là sử dụng các cờ được cung cấp bởi nhị phân Đây là một ví dụ trong đó Mongo được đặt để nghe trên cổng 9000 thay vì 27017 mặc định: docker run -d --name example-mongo -v mongo-data: / data / db mongo: mới nhất --port 9000 Bạn có thể thêm tệp cấu hình Mongo bằng cách gắn tệp này vào vùng chứa của mình, sau đó sử dụng docker run -d --name example-mongo -v mongo-data: / data / db -v ./mongo.conf:/etc/mongo/mongo.conf mongo: mới nhất --config /etc/mongo/mongo.conf
Hình ảnh Docker cung cấp một cơ chế để tạo cơ sở dữ liệu của bạn và chạy các tập lệnh bootstrap trong lần chạy đầu tiên. Mọi Phần kết luậnChạy MongoDB trong Docker cung cấp cho bạn sự cô lập và khả năng di động cho cơ sở dữ liệu của bạn. Bạn có thể nhanh chóng tạo các phiên bản mới mà không cần cài đặt máy chủ Mongo theo cách thủ công. Các vùng chứa ứng dụng của bạn có thể liên kết trực tiếp với Mongo qua mạng Docker được chia sẻ. Hình ảnh Mongo trên Docker Hub có các thẻ cho tất cả các phiên bản được hỗ trợ tích cực bao gồm 4.4 và 5.0. Hình ảnh chính thức cũng có thể được sử dụng làm cơ sở cho những hình ảnh được định cấu hình sẵn tùy chỉnh. Việc tạo một Dịch từ: https://www.cloudsavvyit.com/14792/how-to-run-mongodb-in-a-docker-container/ |