Hướng dẫn mongodb create user docker-compose - mongodb tạo người dùng docker-soạn
Để khởi tạo Mongo với các tập lệnh Triple và initDB của người dùng ban đầu-DB chỉ với một docker-compose.yml, không có bất kỳ cấu hình bổ sung nào, bạn có thể sử dụng hình ảnh bitnami/Mongo. Trong trường hợp của tôi, tôi đã không chạy các tập lệnh của mình theo thư mục /Docker-entrypoint-initdb.d trong container sau khi đặt các biến môi trường; MongoDB_username và MongoDB_Password (các biến env cụ thể cho hình ảnh bitnami) vì Mongod chạy với tùy chọn --Auth tự động khi bạn đặt các biến này. Do đó, tôi đã gặp lỗi xác thực khi container đang trong quá trình thực thi các tập lệnh./docker-entrypoint-initdb.d directory in the container after setting environment variables; MONGODB_USERNAME and MONGODB_PASSWORD (specific env variables for bitnami image) because mongod runs with --auth option automatically when you set these variables. Consequently, I got authentication errors when the container was in the process of executing the scripts. Bởi vì, nó đã kết nối với: MongoDB: //192.168.192.2: 27017/máy nén Nhật ký đầu cuối của lỗi Tệp docker đầu tiên:
Tệp JS JS dưới ./mongodb/scripts đường dẫn:
Vì vậy, tôi đã quyết định thêm các biến môi trường mới vào Docker-compose.yml sau khi kiểm tra https://github.com/bitnami/bitnami-docker-mongodb/blob/master/4.2/debian-10/rootfs/opt/bitnami/ SCRIPT/LIBMONGODB.SH. Trong tệp SH này, có chức năng như MongoDB_Custom_init_Scripts () để thực thi các tập lệnh. Để thực thi tất cả các tệp tập lệnh, nó chạy phương thức MongoDB_Execute (). Trong phương thức này, sau khi thể hiện Mongod được chạy và chạy, Mongo Client đang kết nối với thể hiện Mongod bằng cách sử dụng một số tham số.mongodb_custom_init_scripts() for executing the scripts. For executing all script files, it runs mongodb_execute() method. In this method, after mongod instance is up and run, mongo client is connecting to the mongod instance by using some parameters.
Sau đó, tôi đã thêm các biến môi trường mới vào docker của mình như MongoDB_Advertised_hostname, MongoDB_port_number, và, MongoDB_Client_extra_flagsMONGODB_ADVERTISED_HOSTNAME, MONGODB_PORT_NUMBER, and, MONGODB_CLIENT_EXTRA_FLAGS Vì vậy, docker-compose.yml cuối cùng của tôi trông giống như:
Bây giờ, nó đã được kết nối bởi url này: MongoDB: // LocalHost: 27017/? |