将MongoDB Docker容器连接到本地主机

4
我想要将Docker容器内的MongoDB端口绑定到本地主机。我尝试使用以下命令: sudo docker run -p 127.0.0.1:27018:27017 mongo:3.2 我可以连接,但是在Docker容器中添加的数据库无法暴露到本地。我甚至尝试使用0.0.0.0192.168.x.x(即我的IP地址)代替127.0.0.1来进行绑定,但在所有情况下,我都无法获取Mongo Docker容器中的数据库。
1个回答

3

如果您正在运行容器并希望将其绑定到本地主机(假设您的主机文件将localhost绑定到127.0.0.1),则只需键入:

sudo docker run -p 27018:27017 --name mongo mongo:3.2

或者如果你想使用27017端口

sudo docker run -p 27017:27017 --name mongo mongo:3.2

如果您想登录但主机上没有Mongo二进制文件,可以输入以下命令:
sudo docker container exec -it mongo mongo

所有这些命令都会创建一个名为mongo:3.2的新容器,并在本地提供27018端口的接口。但是我需要一个已经在Docker中运行的容器,以便在本地访问它。 - Candy
我明白了,实际上Docker容器有它们自己的IP地址。我通过docker inspect CONTAINER_ID获取了IP地址并访问了MongoDB。 - Candy
所以IP地址在Docker网络中。如果您正在尝试从该网络上的另一个容器登录到Mongo,则可以使用容器的IP地址进行登录。如果您在计算机上拥有Mongo二进制文件,则应该能够在不使用容器的IP地址的情况下登录到容器(假设您正在使用bridge网络)。另一种方法是,如果您创建自己的Docker网络并为容器命名,则可以将该名称用作IP地址。 - Jensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接