Tôi hiểu rằng bạn có mongo chạy trên Docker, vì vậy, một cách giải quyết khác bạn có thể sử dụng cùng một container đang chạy để kết nối:
docker exec -ti $container_name bash
bash-4.2$ mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
Lý tưởng nhất là bạn có thể kết nối chỉ bằng một lệnh nhưng tôi không biết tại sao lại thất bại khi gọi từ bên ngoài:
# this fail but you can use with other databases
docker exec -ti $container_name mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE
Ý tưởng rất đơn giản, mongo được cài đặt trên container để bạn bảo docker chạy từ bên trong container. Nếu bạn cần tải tập tin từ bên ngoài, bạn luôn có thể lắp một ổ đĩa.