mac的docker:从另一个容器访问mongo
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac的docker:从另一个容器访问mongo相关的知识,希望对你有一定的参考价值。
我有两个容器,一个是用于node.js代码的容器,另一个是用于mongodb数据库的容器。我将network_mode设置为两个容器的主机,由于某些网络限制,我不得不这样做。此外,两个容器都在同一台物理Mac计算机上。如果我想从node.js容器连接到mongodb数据库,我的连接字符串应该是什么样子。我知道,如果使用桥接网络,则将mongo容器的名称用作主机名。但是,在这种情况下,我尝试了localhost,0.0.0.0、127.0.0.1等,但都无法正常工作。在这种情况下,我将如何访问mongdb数据库?
使用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",
根据this github issue,network_mode
在Mac的Docker上不起作用。
关于我链接的问题的评论did说,如果您需要从容器访问主机上的服务,则可以使用host.docker.internal
,但这可能与您的用例无关。
以上是关于mac的docker:从另一个容器访问mongo的主要内容,如果未能解决你的问题,请参考以下文章
如何从另一个容器访问在 Docker 容器中运行的 Mopidy
从另一个 Docker 访问一个 Docker 中的 MariaDB