我有两个容器,一个是用于node.js代码的容器,另一个是用于mongodb数据库的容器。我将network_mode设置为两个容器的主机,由于某些网络限制,我不得不这样做。此外,两个容器都在同一台物理Mac计算机上。如果我想从node.js容器连接到mongodb数据库,我的连接字符串应该是什么样子。我知道,如果使用桥接网络,则将mongo容器的名称用作主机名。但是,在这种情况下,我尝试了localhost,0.0.0.0、127.0.0.1等,但都无法正常工作。在这种情况下,我将如何访问mongdb数据库?
答案 0 :(得分:0)
使用Docker的最简单方法是检查并找到Docker容器的IP并登录/连接到它。或者,您可以使用VS Code(https://code.visualstudio.com/download)并安装docker插件
查找正在运行的Docker容器和容器ID
docker ps
获取特定于docker Docker容器的详细信息
docker inspect <CONTAINER ID> | grep "IPAddress"
示例
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
答案 1 :(得分:0)
根据this github issue,network_mode
在Mac的Docker上不起作用。
关于我链接的问题的评论host.docker.internal
,但这可能与您的用例。