Cài đặt MongoDB trên Docker

Nếu như bạn chưa nghe nói về Docker là gì?

Ngoài ra bạn có thể xem thêm về việc cài đặt docker elaticsearch

Bạn có thể xem video tại đây

Docker là gì?

You can have watching say about Docker

Docker là một dự án mã nguồn mở cho phép các thành viên lập trình có thể tạo, chạy và phân phối phần mềm của mình đi những nơi khác mà không cần phải mất nhiều công sức nhất.

Cài đặt docker mongodb

Bạn có thể xem video tại đây cho nó nhanh, còn nếu muốn nghiên cứu thì mình viết ra đây, cho anh em copy cho nó nhanh

“Các hướng dẫn sau đây được thiết kế để chạy một phiên bản thử nghiệm nhanh chóng và dễ dàng; .  

Ngoài ra, mục tiêu của bài viết này không phải là mô tả đầy đủ về Docker, mặc dù tôi cho rằng bạn đã có kiến ​​thức trước về Docker và bạn cũng đã cài đặt và định cấu hình Docker để tiếp tục

Docker nhanh chóng triển khai các thùng chứa MongoDB độc lập. Nếu bạn đang tìm cách triển khai nhanh cả bộ bản sao và phân đoạn, tôi khuyên bạn nên xem công cụ mlaunch

Peter đã đề cập, trong bài viết của mình, cách MySQL có hai kho lưu trữ "chính thức" khác nhau và với MongoDB, nó giống nhau. MongoDB có một kho lưu trữ do MongoDB duy trì và một kho lưu trữ khác do Docker duy trì. Mình viết bài này dựa trên Docker-maintained repository

Cài đặt phiên bản mới nhất của MongoDB

Đoạn mã sau đây là một ví dụ về cách khởi tạo vùng chứa phiên bản MongoDB mới nhất từ ​​kho lưu trữ Docker.  

Vỏ bọc

1

2

3

4

docker run -- name mongodb_dockerhub \

                - e MONGO_INITDB_ROOT_USERNAME = quản trị viên 

                - e MONGO_INITDB_ROOT_PASSWORD = bí mật \

                - d mongo. mới nhất

Bây giờ, nếu bạn muốn kiểm tra trạng thái container ngay sau khi tạo

Vỏ bọc

1

2

3

4

docker ps

 

CONTAINER ID         IMAGE COMMAND                  CREATED STATUS PORTS               NAMES

fdef23c0f32a         mongo:mới nhất "docker-entrypoint. "   4 giây trước Lên 4 seconds 27017/tcp           mongodb_dockerhub

Kết nối với MongoDB Server Docker Container

Sau khi cài đặt và chạy vùng chứa, bạn sẽ nhận thấy rằng trước đó không yêu cầu cài đặt phụ thuộc hoặc bước bổ sung nào, ngoài các tệp nhị phân docker. Bây giờ, đã đến lúc truy cập shell MongoDB của container và đưa ra một lệnh cơ bản như “show dbs”.  

Vỏ bọc

1

2

3

4

5

6

7

8

9

10

11

12

13

14

docker exec - it mongodb_dockerhub mongo -u admin -p secret

MongoDB shell phiên bản v4. 2. 5

đang kết nối với. mongodb. // 127. 0. 0. 1. 27017 / ?máy nén = disabled&gssapiServiceName=mongodb

Phiên ẩn. phiên { "id" . UUID("89c3fb4a-a8ed-4724-8363-09d65024e458") }

MongoDB máy chủ phiên bản. 4. 2. 5

Chào mừng đến với trình bao MongoDB shell.

 

> hiển thị db

quản trị viên   0. 000GB

config   0. 000GB

cục bộ   0. 000GB

 

> thoát

từ biệt

Cũng có thể kết nối với MongoDB được đóng gói bằng cách sử dụng shell mongo máy chủ. Trên đầu ra docker ps, container id có một trường thông báo ánh xạ cổng của nó và sau đó là một kết nối đơn giản sử dụng cổng đó

Trong ví dụ dưới đây, chúng tôi đã kết nối với mongodb_dockerhub36. Nó được thiết lập và chạy cục bộ trên cổng 27017  nhưng được ánh xạ tới cổng máy chủ 27018

Vỏ bọc

1

2

3

4

docker ps

 

CONTAINER ID        IMAGE               LỆNH                  CREATED             STATUS              PORTS                      NAMES

60ffc759fab9        mongo. 3. 6           "docker-entrypoint. "   20 giây trước      Lên . 0. 0. 0 19 seconds       0.0.0.0. 27018 - >27017 / tcp   mongodb_dockerhub36

Do đó, chuỗi kết nối vỏ mongo sẽ được thực thi đối với IP bên ngoài và cổng 27018

Vỏ bọc

1

mongo quản trị viên - u quản trị viên --host 172.16.0.10 -- cổng 27018 - psecret

Quản lý máy chủ MongoDB trong Docker Container

Các lệnh sau sẽ trình bày các thao tác quản lý cơ bản khi quản lý bộ chứa MongoDB.  

  • Khởi động vùng chứa và kiểm tra Trạng thái

Vỏ bọc

1

2

3

4

5

6

docker start mongodb_dockerhub

 

docker ps

 

CONTAINER ID         IMAGE COMMAND                  CREATED STATUS PORTS               NAMES

fdef23c0f32a         mongo:mới nhất "docker-entrypoint. "   47 phút trước Lên 2 seconds 27017/tcp           mongodb_dockerhub

  • Dừng container và kiểm tra trạng thái

Vỏ bọc

1

2

3

4

5

docker stop mongodb_dockerhub

 

docker ps

 

CONTAINER ID         IMAGE COMMAND

  • Xem qua các mục nhật ký MongoDB

Vỏ bọc

1

2

3

4

5

6

7

docker log mongodb_dockerhub

.. .

về đến ngã ba con quy trình, waiting until server is ready for connections.

quy trình phân nhánh. 25

2020 - 04 - 10T14:04. 49. 808 + 0000 I   KIỂM SOÁT [main] ***** SERVER RESTARTED *****

2020 - 04 - 10T14:04. 49. 812 + 0000 I   KIỂM SOÁT . 0 [main] Automatically disabling TLS 1.0, đến f

.. .

Truyền tùy chọn dòng lệnh cho máy chủ MongoDB trong Docker Container

Cũng có thể xác định các tham số của phiên bản khi khởi chạy bộ chứa MongoDB. Trong ví dụ bên dưới, tôi sẽ trình bày cách đặt bộ đệm WiredTiger

Vỏ bọc

1

2

3

docker run -- name mongodb_dockerhub \

                - e MONGO_INITDB_ROOT_USERNAME = quản trị viên -e MONGO_INITDB_ROOT_PASSWORD=secret \

                - d mongo. mới nhất -- wiredTigerCacheSizeGB 1. 0

Chạy các phiên bản máy chủ MongoDB khác nhau trong Docker

Một khả năng khác là có hai bộ chứa MongoDB chạy song song nhưng ở các phiên bản khác nhau. Đoạn mã dưới đây sẽ mô tả cách xây dựng kịch bản đó

  • Ra mắt 4. 0 thùng chứa

Vỏ bọc

1

2

3

docker run -- name mongodb_dockerhub40 \

 - e MONGO_INITDB_ROOT_USERNAME = quản trị viên -e MONGO_INITDB_ROOT_PASSWORD=secret \

 - d mongo. 4. 0

  • Ra mắt 3. 6 thùng chứa

Vỏ bọc

1

2

3

docker run -- name mongodb_dockerhub36 \

 - e MONGO_INITDB_ROOT_USERNAME = quản trị viên -e MONGO_INITDB_ROOT_PASSWORD=secret \

 - d mongo. 3. 6

  • Kiểm tra trạng thái container

Vỏ bọc

1

2

3

4

5

docker ps

 

CONTAINER ID         IMAGE COMMAND                  CREATED STATUS PORTS               NAMES

e9f480497f2d         mongo:3. 6 "điểm vào docker. "   32 giây trước Lên 32 seconds 27017/tcp           mongodb_dockerhub36

3a799f8a907c         mongo:4. 0 "điểm vào docker. "   41 giây trước Lên 41 seconds 27017/tcp           mongodb_dockerhub40

Nếu vì lý do nào đó, bạn cần cả hai vùng chứa chạy đồng thời và truy cập chúng từ bên ngoài, thì hãy sử dụng các ánh xạ cổng khác nhau. Trong ví dụ bên dưới, cả hai bộ chứa MongoDB đều được triển khai trên cổng 27017 cục bộ, tuy nhiên, tôi đang đặt các bản đồ cổng bên ngoài khác nhau cho mỗi bộ chứa

  • MongoDB 4. 0 ánh xạ cổng 27017

Vỏ bọc

1

2

3

4

docker run -- name mongodb_dockerhub40 \

 - p 27017. 27017 \

 - e MONGO_INITDB_ROOT_USERNAME = quản trị viên -e MONGO_INITDB_ROOT_PASSWORD=secret \

 - d mongo. 4. 0

  • MongoDB 3. 6 ánh xạ cổng 27018

Vỏ bọc

1

2

3

4

docker run -- name mongodb_dockerhub36 \

 - p 27018. 27017 \

 - e MONGO_INITDB_ROOT_USERNAME = quản trị viên -e MONGO_INITDB_ROOT_PASSWORD=secret \

 - d mongo. 3. 6

  • Kiểm tra trạng thái của cả hai Container

Vỏ bọc

1

2

3

4

5

docker ps

 

CONTAINER ID         IMAGE COMMAND                  CREATED STATUS PORTS                      NAMES

78a79e5606ae         mongo:4. 0 "điểm vào docker. "   3 giây trước Lên . 0. 0. 0 2 seconds 0.0.0.0. 27017 - >27017 / tcp   mongodb_dockerhub40

60ffc759fab9         mongo:3. 6 "điểm vào docker. "   20 giây trước Lên . 0. 0. 0 19 seconds 0.0.0.0. 27018 - >27017 / tcp   mongodb_dockerhub36

Có rất nhiều chi tiết bổ sung trên trang Trung tâm MongoDB của Docker và bạn sẽ tìm thấy nhiều tùy chọn hơn để sử dụng khi triển khai MongoDB Docker của mình. tận hưởng nó

Phân phối Percona cho MongoDB là giải pháp thay thế cơ sở dữ liệu MongoDB có sẵn miễn phí, cung cấp cho bạn một giải pháp duy nhất kết hợp các thành phần doanh nghiệp quan trọng và tốt nhất từ ​​cộng đồng nguồn mở, được thiết kế và thử nghiệm để hoạt động cùng nhau

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 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 để chạy bộ bản sao MongoDB trên Docker?

Thiết lập vùng chứa của chúng tôi . Bắt đầu một vùng chứa từ một hình ảnh. -p 30001. 27017. Hiển thị cổng 27017 trong vùng chứa của chúng tôi, dưới dạng cổng 30001 trên máy chủ cục bộ. --name mongo1. đặt tên cho vùng chứa này là “mongo1” --net my-mongo-cluster. Thêm vùng chứa này vào mạng “my-mongo-cluster”

Làm cách nào để cài đặt máy chủ MongoDB?

Quá trình cài đặt sẽ cài đặt cả tệp nhị phân MongoDB cũng như tệp cấu hình mặc định .
Chọn Loại thiết lập. .
Cấu hình dịch vụ. .
Cài đặt La bàn MongoDB. .
Khi đã sẵn sàng, nhấp vào Cài đặt