Azure上的Mongodb默认设置-从本地Shell连接字符串

时间:2018-12-11 13:42:00

标签: mongodb bash azure docker

我认为与编程无关,这更多的是数据库问题,因此我将其发布了here。如果您对此问题有贡献,请在dba帖子上而不是在这里!

我有一个具有docker的新Azure VM(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

运行一个蒙哥

然后我跑了

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的输出(问题末尾所示)似乎在阻塞端口方面没有问题-我已将此VM用于其他docker容器系统,并且连接没有问题。

现在,我的问题是-如何从本地计算机上的bash shell连接到MongoDB的Azure实例。我已经在Azure实例上设置了我的公共ssh密钥,并且没有密码也可以登录。

是否需要在VM上为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>

0 个答案:

没有答案