Networking 如何从外部主机(mac)连接到docker

Networking 如何从外部主机(mac)连接到docker,networking,docker,Networking,Docker,我是码头工人的新手 我运行了一个docker容器,mongo运行它(使用boot2docker) docker run——命名一些mongo-p 27017:27017-d mongo 码头工人内部: root@8e9b742c127a:/# mongo MongoDB shell version: 3.0.2 connecting to: test Server has startup warnings: 2015-05-12T08:49:56.130+0000 I CONTROL [ini

我是码头工人的新手

我运行了一个docker容器,mongo运行它(使用
boot2docker

docker run——命名一些mongo-p 27017:27017-d mongo

码头工人内部:

root@8e9b742c127a:/# mongo
MongoDB shell version: 3.0.2
connecting to: test
Server has startup warnings:
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten]
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten]
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2015-05-12T08:49:56.130+0000 I CONTROL  [initandlisten]
> show dbs
local  0.078GB
>
docker ps

CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                      NAMES
8e9b742c127a        mongo:latest        "/entrypoint.sh mong   About an hour ago   Up About an hour    0.0.0.0:27017->27017/tcp   some-mongo
现在事情变得有点棘手,因为它们需要网络知识

如何从外部连接到它?

尝试:

  • mongo本地主机:27017

  • 
    docker检查了一些mongo | grep IP地址
    “IPAddress”:“172.17.0.12”,
    mongo 172.17.0.12:27017
    

  • mongo 0.0.0.0:27017

  • mongo 10.0.0.12:27017
  • mongo 192.168.3.124:27017

  • 本地Docker:(LInux)

    通过通过
    -p 27017:27017向主机公开端口,您可以通过Docker主机本身的IP地址访问MongoDB服务

    假设您的Docker主机是
    192.168.0.1
    ,您可以使用该IP地址

    见:和

    非本地Docker:(例如:OS X/Windows)

    更新:以上响应针对Linux上的Docker;如果您通过类似的方式在OS X上,则需要连接到boot2docker虚拟机的IP地址,您可以从
    boot2docker
    CLI获取该IP地址:

    $ boot2docker ip
    192.168.59.103
    

    我试过了,但没用。。。如您所见,我正在运行带有“-p 27017:27017”的容器。我做错了什么?你是不是每次都使用OSX和boot2docker?是的,很抱歉没有提到这一点。我将在消息中添加它。另请参见(适用于Windows,但也适用于Mac上的boot2docker Virtualbox VM)