我认为与编程无关,这更多的是数据库问题,因此我将其发布了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>