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ọc1
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ọc1
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ọc1
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ọc1
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ọc1
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
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
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
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ọc1
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
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
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
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
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
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
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