Я развернул докер-контейнер на цифровой океанской капле (Ubuntu 16.04), который должен подключаться к JAR на двери 9000 и к Mongo на двери 27017 на той же машине. Обе службы (JAR и Mongo) не являются контейнерами и работают на локальном хосте.
Я могу подключиться к JAR без проблем, но каждый раз, когда я пытаюсь подключиться к Монго, я получаю следующее:
pymongo.errors.ServerSelectionTimeoutError: 178.128.206.98:27017: timed out
Это то, что я делал до сих пор. Jar начал работать, когда я добавил IP контейнера в правила ufw
:
sudo ufw allow from DOCKER_IP to any port 9000
Так что я попробовал то же самое для mongo:
sudo ufw allow from DOCKER_IP to any port 27017
Но снова я получаюв ошибке тайм-аута. Поэтому я следовал некоторым рекомендациям:
1) проблема с драйверами . Затем проблема тайм-аута Я добавил пакет srv with dns, но все равно не работал.
2) Итак, я последовал за сетевым вопросом и прокомментировал дверь с mongod.conf
:
sudo nano /etc/mongod.conf
Это теперь выглядит так:
# network interfaces
net:
port: 27017
# bindIp: 127.0.0.1
Конечно, я перезапустил службу mongo
sudo service mongod restart
Но все равно та же ошибка тайм-аута.
Это все варианты кода Python, которые я пытался прочитать здесь и там:
client = MongoClient('mongodb+srv://MACHINE_IP:27017/') #first variant
client = MongoClient(MACHINE_IP, 27017) #second variant
client = MongoClient('mongodb://mongo:27017/') #third variant
Есть ли другие предложения о том, как подключиться к Монго? И в то же время, почему я могу подключиться к JAR, а не к Монго?