一.问题
在写尚硅谷的尚医通项目过程中,要使用到mongodb然后跟着教程安装了docker,然后用docker安装了mongodb,在IDEA做好相关配置之后发现,IDEA链接不上mongodb,报链接超时异常,当时我忘记截图了,所以下面直接记录一下就解决方案。
二.解决
其实很简单,用docker安装mongodb之后,mongodb默认的配置是只允许本地访问的,及只允许IP地址为localhost的主机访问,所以只能在虚拟机访问mongodb,所以要想用IDEA链接mongodb,就要给mongodb配置远程链接,具体操作如下
1.进入docker容器,这里我是没有设置用户名和密码的
docker exec -it “容器名称” /bin/bash;
2.给docker更新数据源,安装vim
因为docker是容器,我觉得docker应该也是虚拟机,但是docker里边是没有vim命令的所以要自行安装,而且这里是在docker里边修改mongodb的配置。
apt-get update;
apt-get install vim;
这里在执行第一条update语句的时候可能会报错,如下:
原因开可能有很多种,但是我这里是因为我没有配置docker和虚拟机的网络桥连,所以docker无法联网所以更新失败,网上找找就有了,配置一下就好。配置完之后就可以更新数据源并下载vim了。
3.修改mongodb配置文件
vim /etc/mongod.conf.orig;
- 将 bindIp: 127.0.0.1 注释掉, 或者 改为 bindIp: 0.0.0.0, 就可以开启远程连接.
- 开启权限认证:
security:
authorization: enabled
缩进和其他的保持一致.
这样问题就应该解决了。