Docker-compose ví dụ mongodb
Trong bài viết này, chúng tôi sẽ giải thích cho bạn cách thiết lập mongoDB theo nhiều môi trường bằng cách sử dụng Docker-Compose
Môi trường sản xuất
Một môi trường dành riêng cho sự phát triển
Một môi trường dành riêng cho thử nghiệm Tại sao chúng ta cần nhiều môi trường?Nếu bạn chỉ có một Môi trường sản xuất và bạn đang phát triển một tính năng mới, nếu có lỗi xảy ra, nó sẽ ảnh hưởng đến toàn bộ Môi trường sản xuất Để thực hành tốt nhất, Bạn phải có Môi trường phát triển vì nếu bạn đang phát triển một tính năng mới trong Môi trường phát triển nếu có gì đó bị hỏng thì nó sẽ không ảnh hưởng đến Môi trường sản xuất Hãy bắt đầu tạo nhiều môi trườngHy vọng bạn đã quen thuộc với “Docker-Compose” cấu trúc thư mục Project Hướng dẫn về TecoEric Cabrel TIOGODưới đây là các bước
Thiết lập dự ánSao chép dự án từ kho GitHub này và theo dõi tệp Readme để thiết lập cục bộ. Nếu bạn không có cơ sở dữ liệu Mongo, bạn có thể làm theo hướng dẫn này để cài đặt nó;
Nếu mọi thứ được cấu hình như mong đợi, bạn sẽ chạy dự án Sao chép dự án từ GitHub và thiết lập cục bộTạo một hình ảnh Docker của dự ánXây dựng hình ảnh Docker của dự án khiến nó không thể biết được hệ điều hành. Chúng ta nên mong đợi hành vi tương tự bất kể hệ điều hành mà chúng ta chạy hình ảnh Docker xây dựng dự ánChúng tôi sử dụng Bản mô tả trong dự án, nhưng, Nút. js chỉ chạy tệp Javascript, vì vậy chúng tôi cần dịch mã. tập tin ts vào. js có thể đạt được bằng cách chạy 5💡 Nếu bạn gặp lỗi Bản mô tả từ các tệp nằm trong thư mục node_modules, hãy mở tệp 6 của bạn, sau đó thêm đoạn mã sau
Lệnh trên sẽ tạo một thư mục có tên 7 chứa. js, nhưng nếu bạn để ý thì sẽ thấy thiếu thư mục 8 chứa tệp handlebarsĐiều này là do lệnh 9 chỉ xử lý. ts và bỏ qua những tệp khác. Vì thư mục cần thiết cho dự án, chúng tôi phải sao chép nó vào trong thư mục bản dựng bằng lệnh bash
Dưới đây là tóm tắt xây dựng dự án cho sản xuất
Xây dựng hình ảnh DockerTại thư mục dự án gốc, tạo một tệp có tên 0. Chúng tôi sẽ viết các hướng dẫn để xây dựng một hình ảnh. Mở tệp, sau đó thêm mã bên dưới
Lưu tệp, sau đó chạy lệnh bên dưới để tạo hình ảnh. Đây là chữ ký lệnh xây dựng Docker
Chúng tôi có thể thêm các tùy chọn khác; Chạy lệnh này để xây dựng hình ảnh
Sau khi hoàn thành, hãy chạy 1 để xem danh sách các hình ảnh dockerXem hình ảnh Docker của ứng dụngChạy một container từ hình ảnhHãy bắt đầu một vùng chứa từ hình ảnh Docker của chúng tôi theo cách tương tác để xem nhật ký bằng cách chạy lệnh này
Hình dưới đây cho thấy đầu ra chúng tôi nhận được Ứng dụng chạy từ vùng chứa không kết nối được với MongoDB.Rất tiếc, chúng tôi gặp lỗi cho biết chúng tôi có thể kết nối với máy chủ lưu trữ cơ sở dữ liệu có tên là 2. Điều này là do chúng tôi đọc thông tin đăng nhập cơ sở dữ liệu từ tệp 3 không được sao chép trong hình ảnh DockerĐiều này được thực hiện có chủ ý vì Docker cung cấp tùy chọn 4 để thêm một biến môi trường đã bắt đầu một vùng chứa. Hãy bắt đầu vùng chứa bằng tùy chọn này
Rất tiếc, chúng tôi gặp lỗi cho biết chúng tôi có thể kết nối với máy chủ lưu trữ cơ sở dữ liệu có tên là 5. Điều này xảy ra do bộ chứa Docker không thể truy cập phiên bản MongoDB được cài đặt trên máy chủTạo mạng để lưu trữ vùng chứaChúng tôi cần chạy bộ chứa Docker từ hình ảnh MongoDB và sau đó chạy bộ chứa Docker của ứng dụng của chúng tôi. Nhưng nó vẫn không hoạt động vì các vùng chứa không nằm trên cùng một mạng Giao tiếp giữa hai container thông qua mạng DockerChúng tôi sẽ bắt đầu bằng cách tạo một mạng và sau đó bắt đầu hai vùng chứa bên trong mạng này
Hình dưới đây cho thấy đầu ra chúng tôi nhận được Ứng dụng bộ chứa Docker không thể kết nối với bộ chứa MongoDBỨng dụng vẫn không thể kết nối với cơ sở dữ liệu vì hai lý do
Cập nhật thông tin đăng nhập cơ sở dữ liệuĐể set giá trị cho username và password, sẽ set 2 biến môi trường là 7 và 8 khi start container 0Bây giờ, hãy chỉnh sửa của chúng tôi. env để cập nhật thông tin đăng nhập cơ sở dữ liệu với các giá trị này 1Bây giờ hãy bắt đầu một vùng chứa cho ứng dụng của chúng ta 2Đã chạy thành công bộ chứa docker với bộ chứa MongoDB. Hoooooooay 🎉🎉🎉 💡 Một cách khác để làm cho hai container giao tiếp với nhau là tạo một liên kết giữa chúng. Tuy nhiên, không nên sử dụng nó và nó sẽ không được dùng nữa Sử dụng Docker Compose để quản lý containerNhư bạn có thể thấy, chúng tôi đã làm nhiều việc để làm cho ứng dụng của mình hoạt động và tất cả điều này đều theo cách bắt buộc, đòi hỏi phải biết mọi lệnh và tùy chọn, đồng thời ghi nhớ vùng chứa nào sẽ bắt đầu trước vùng chứa khác May mắn thay, Docker Compose ở đây để đơn giản hóa công việc cho chúng tôi. Chúng tôi sẽ tạo một tệp 9 và xác định những gì chúng tôi muốn và Docker Compose sẽ thực hiện công việcĐây là một cách khai báo. Kiểm tra liên kết này để tìm hiểu thêm về sự khác biệt giữa phong cách khai báo và mệnh lệnh Tạo một 0 và thêm mã bên dưới 3Docker Soạn tệp cấu hình cho dự ánCác hướng dẫn trong tệp trên tạo ra kết quả tương tự như các hướng dẫn chúng tôi đã làm với Docker. Xây dựng và chạy với lệnh sau 4Xây dựng và chạy dự án với Docker ComposeĐó là nó Bây giờ bạn có thể chia sẻ dự án của mình và điều duy nhất ai đó phải làm là chạy hai lệnh trước đó và dự án đang chạy Gói (lạiDocker CLI cung cấp các lệnh để xây dựng hình ảnh Docker cho ứng dụng của bạn và chúng ta đã thấy cách tạo hình ảnh Docker của một Nút. ứng dụng js. Mạng Docker có thể thực hiện giao tiếp giữa nhiều container Docker Compose cho phép bạn khai báo các hướng dẫn xây dựng và chạy các thùng chứa trong tệp YAML. Điều này giúp dễ dàng chạy và thử nghiệm một dự án với nhiều ứng dụng được đóng gói dưới dạng hình ảnh Docker giao tiếp với nhau Bạn có thể tìm mã nguồn trên kho lưu trữ GitHub Theo dõi tôi trên Twitter hoặc đăng ký nhận bản tin của tôi để tránh bỏ lỡ các bài đăng sắp tới cũng như các mẹo và thủ thuật mà tôi thỉnh thoảng chia sẻ Làm cách nào để sử dụng MongoDB với Docker Compose?Dưới đây là các bước. . Tạo một hình ảnh docker của dự án Chạy hình ảnh docker của cơ sở dữ liệu Mongo Chạy một hình ảnh docker của dự án Làm cho họ giao tiếp với nhau Sử dụng Docker Compose để dễ dàng quản lý chúng Làm cách nào để triển khai MongoDB trong docker?Cách triển khai và quản lý bộ chứa Docker MongoDB . Tải xuống hình ảnh Docker MongoDB Triển khai Docker MongoDB Container Gắn Docker MongoDB Container vào Bash Shell Tạo người dùng MongoDB quản trị Tạo cơ sở dữ liệu MongoDB Khởi động lại Docker MongoDB Container Phần kết luận 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í .
Làm cách nào để kết nối MongoDB với docker nodejs?Phần 1. Cài đặt Docker trên máy của bạn. Thiết lập kho lưu trữ. . 2. Thiết lập một ứng dụng node js đơn giản 3. Tạo Dockerfile cho ứng dụng 4. Viết cấu hình Docker Compose 5. mô hình cầy mangut 6. Kết nối cơ sở dữ liệu MongoDB 7. Tạo API để nhận và lưu trữ người dùng. . Phần 8. Chạy docker-compose để build ứng dụng |