MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

docker-soạn kết nối ứng dụng java với mongodb

Vào tháng 7 năm 2019, tài liệu chính thức về docker:

Nguồn: https://docs.docker.com/compose/compose-file/ # liên kết

Giải pháp # 1:tệp môi trường trước khi bắt đầu

Về cơ bản, Chúng tôi tập trung tất cả các cấu hình trong một tệp với biến môi trường và thực thi nó trước khi docker-soạn lên

Cách tiếp cận sau đây đã giúp tôi trong những trường hợp sau:

  • Docker-compos.yml của bạn có một số vùng chứa với sự phụ thuộc phức tạp giữa chúng
  • Một số dịch vụ của bạn trong trình soạn thảo-docker cần kết nối với một quy trình khác trong cùng một máy. Quá trình này có thể là một vùng chứa docker hoặc không.
  • Bạn cần chia sẻ các biến giữa một số tệp do docker soạn thảo như máy chủ lưu trữ, mật khẩu, v.v.

Các bước

1.- Tạo một tệp để tập trung các cấu hình

Tệp này có thể được đặt tên: / env / company_enosystem có phần mở rộng hay không.

export MACHINE_HOST=$(hostname -I | awk '{print $1}')
export GLOBAL_LOG_PATH=/my/org/log
export MONGO_PASSWORD=mypass
export MY_TOKEN=123456

2.- Sử dụng các biến env trong docker-compos.yml

của bạn

vùng chứa A

app_who_needs_mongo:
  environment:
    - MONGO_HOST=$MACHINE_HOST
    - MONGO_PASSWORD=$MONGO_PASSWORD
    - TOKEN=$MY_TOKEN
    - LOG_PATH=$GLOBAL_LOG_PATH/app1

vùng chứa B

app_who_needs_another_db_in_same_host:
  environment:
    - POSTGRESS_HOST=$MACHINE_HOST
    - LOG_PATH=$GLOBAL_LOG_PATH/app1

3.- Khởi động vùng chứa của bạn

Chỉ cần thêm nguồn trước các lệnh docker-soạn:

source /env/company_environments
docker-compose up -d

Giải pháp # 2:host.docker.internal

https://stackoverflow.com/a/63207679/3957754

Về cơ bản sử dụng một tính năng của docker trong đó host.docker.internal có thể được sử dụng làm ip của máy chủ trong đó docker-comp của bạn đã khởi động một số vùng chứa



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cập nhật số lượng lớn các bản ghi trong một bộ sưu tập

  2. Mongodb tổng hợp, Làm thế nào để đếm tài liệu theo tiêu chí khoảng thời gian?

  3. Không thể kết nối với mongoDB đang chạy trong bộ chứa docker

  4. Cách chính xác để thực hiện HAVING trong MongoDB GROUP BY là gì?

  5. mongodb không thể kết nối với máy chủ