Điểm:0

Cách kết nối phụ trợ với bộ chứa docker mongodb

lá cờ cn

Tôi đã tạo tệp docker-compose này như được viết trên docker hub/mongodb sau đó tôi sử dụng lệnh docker-compose up -d khá chuẩn để khởi chạy một vùng chứa.

# Sử dụng gốc/ví dụ làm thông tin xác thực người dùng/mật khẩu
phiên bản: '3.1'

dịch vụ:

  mongo:
    hình ảnh: mongo
    khởi động lại: luôn luôn
    môi trường:
      MONGO_INITDB_ROOT_USERNAME: gốc
      MONGO_INITDB_ROOT_PASSWORD: ví dụ

  mongo-express:
    hình ảnh: mongo-express
    khởi động lại: luôn luôn
    cổng:
      - 8081:8081
    môi trường:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: ví dụ
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/

bf4a595a508d mongo-express "tini -- /docker-entâ¦" Khoảng một giờ trước Lên Khoảng một giờ 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp intake-app_mongo-express_1
b5fcc2d2386d mongo "docker-entrypoint.sâ¦" Khoảng một giờ trước Lên Khoảng một giờ 27017/tcp intake-app_mongo_1

Bây giờ tôi đang cố gắng kết nối chương trình phụ trợ của mình với nó.

Với postresql, nó sẽ giống như postgresql://root:example@localhost:8081/db_name

Nó sẽ là gì với mongo?

Tái bút: Tôi có thể kết nối với db trong trình duyệt web của mình tại http://localhost:8081 nhưng tôi không thể kết nối với db từ dòng lệnh với mongo.

Michael Hampton avatar
lá cờ cz
Bạn đã có chuỗi kết nối chính xác ngay trong `docker-compose.yml` của mình!
Điểm:1
lá cờ cn

Từ trang trung tâm docker chính thức:

Máy chủ MongoDB trong hình ảnh lắng nghe trên cổng MongoDB tiêu chuẩn, 27017, do đó, việc kết nối qua mạng Docker sẽ giống như kết nối với một mongod từ xa.

Bạn không nói rõ bạn đang kết nối từ đâu và bằng cách nào. Nếu đó là một vùng chứa khác thì bạn có thể sử dụng cổng trực tiếp nếu không bạn cần hiển thị cổng trước.

Đối với chuỗi kết nối, nó thường là từ tài liệu chính thức:

mongo mongodb://$[hostlist]/$[database]?authSource=$[authSource] --username $[username]

Bạn cũng có thể sử dụng mongo-express vùng chứa mà bạn đã sử dụng để lấy thông tin chi tiết ở trên hoặc từ trung tâm docker README. Vì vậy, trong trường hợp của bạn:

mongodb://root:example@mongo:27017/

Nếu ứng dụng khách của bạn không ở trong bộ chứa docker trong cùng một ngăn xếp, bạn cần hiển thị cổng 27017 từ cổng đầu tiên mongodb thùng đựng hàng:

cổng:
    - "27017:27017"
Pierre Lovergne avatar
lá cờ cn
Tôi quên để lộ cổng .. Cảm ơn bạn rất nhiều

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.