Я решил, что это больше вопрос базы данных, чем вопрос программирования, поэтому я разместил его здесь .Если вы хотите внести свой вклад в этот вопрос, пожалуйста, сделайте это на посту dba, а не здесь!
У меня есть новая виртуальная машина Azure (Ubuntu 18.04.1 LTS) с докером.
dragam@USDockerVM:~$ IRE> docker --version
Docker version 18.09.0, build 4d60db4
Выдал команду
docker pull mongo.
, которая работала без проблем.
Затем я запустил
docker run --name tom-mongo -d mongo:latest
, чтобы запустить mongod
изатем я запустил
docker run -it --link tom-mongo:mongo --rm mongo mongo --host mongo test
, чтобы запустить клиента.Я могу использовать клиент для подключения для доступа к данным следующим образом:
> use local
switched to db local
> show collections
startup_log
> db.startup_log.find().pretty()
produces 1 record with server startup details - time &c... no problems
docker ps дает:
dragam@USDockerVM:/$ IRE> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
33c58af3862e mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 27017/tcp agitated_hypatia
c39d4ceff690 mongo:latest "docker-entrypoint.s…" 41 minutes ago Up 41 minutes 27017/tcp tom-mongo
и ps -ef |grep mongo дает:
dragam@USDockerVM:/$ IRE> ps -ef | grep mongo
999 13490 13469 0 12:42 ? 00:00:05 mongod --bind_ip_all
dragam 17466 13242 0 13:20 pts/1 00:00:00 docker run -it --link tom-mongo:mongo --rm mongo mongo --host mongo test
999 17535 17513 0 13:20 pts/0 00:00:00 mongo --host mongo test
dragam 18021 2487 0 13:24 pts/0 00:00:00 grep --color=auto mongo
Вывод iptables -L (показанный в конце вопроса), по-видимому, не имеет проблем с блокировкой портов - я использовал эту виртуальную машину для других систем контейнеров докеров и подключал безпроблемы.
Теперь мой вопрос - как мне подключиться к моему экземпляру Azure MongoDB из оболочки bash на моем локальном компьютере.Я установил свой открытый ключ ssh в экземпляре Azure и не могу войти без проблем без пароля.
Нужно ли устанавливать пароль для mongodb на виртуальной машине?Я пробовал различные строки, такие как:
mongo mongodb://mongo:mongo@host:xxx.yyy.zzz.aaa/tom-mongo?ssl=true
и даже простые, такие как
mongo 137.135.249.222/tom-mongo
Существует ли комбинация имени пользователя и пароля контейнера mongodb по умолчанию?Есть ли что-то очевидное, чего мне не хватает?
Должен ли я настроить экземпляр по-другому?У меня есть правильное имя пользователя и пароль с этой настройкой?
==== вывод lsb_release -a =========
dragam@USDockerVM:~$ IRE> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
dragam@USDockerVM:~$ IRE>
========= Вывод sudo iptables -L ==========
dragam@USDockerVM:/$ IRE> sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (1 references)
target prot opt source destination
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target prot opt source destination
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
dragam@USDockerVM:/$ IRE>