簡體   English   中英

如何從外部主機(mac)連接到docker

[英]how can I connect to a docker from the outside host machine (mac)

我是碼頭工人的新手。

我運行了一個運行它的mongo的boot2docker容器(使用boot2docker

docker run --name some-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

現在事情變得有點棘手,因為他們需要網絡知識。

我該如何從外面連接到它?

嘗試:

  1. mongo localhost:27017

  2. docker inspect some-mongo | grep IPAddress "IPAddress": "172.17.0.12", mongo 172.17.0.12:27017

  3. mongo 0.0.0.0:27017

  4. mongo 10.0.0.12:27017
  5. 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; 如果您通過boot2docker之類的東西在OS X上,則需要連接到boot2docker虛擬機的IP地址,該地址可以從boot2docker CLI獲得:

$ boot2docker ip
192.168.59.103

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM