无法连接到docker容器映射端口

时间:2016-01-27 15:01:56

标签: mongodb docker

我在docker中使用mongo image,但我无法连接到20217端口。

docker @ default:〜$ docker ps

prot info show:0.0.0.0:20217->20217/tcp,27017 / tcp

但是,

gilbertdeMacBook-Pro:~gilbert $ lsof -i tcp:20217

没有PID,

gilbertdeMacBook-Pro:~gilbert $ docker info

Containers: 3
Images: 43
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 50
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.13-boot2docker
Operating System: Boot2Docker 1.9.1 (TCL 6.4.1); master : cef800b - Fri Nov 20 19:33:59 UTC 2015
CPUs: 1
Total Memory: 1.956 GiB
Name: default
ID: MRAZ:ZG5E:HDMY:EJNQ:HFL4:PW6Y:AXIS:6JFL:PFI5:GBAY:5SMF:NYQR
Debug mode (server): true
 File Descriptors: 25
 Goroutines: 44
 System Time: 2016-01-27T14:53:52.005531869Z
 EventsListeners: 0
 Init SHA1:
 Init Path: /usr/local/bin/docker
 Docker Root Dir: /mnt/sda1/var/lib/docker
Username: gilbertgan
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox

2 个答案:

答案 0 :(得分:1)

我发现这是因为MAC docker-machine在VM上运行,所以我们需要在连接到容器时添加VM IP。 ip可以通过以下方式显示:docker-machine ls

答案 1 :(得分:0)

您的docker容器映射端口20217,它不是MongoDB默认端口。正确的端口是27017。 gilbert_gan也是对的。在docker-machine上运行docker时,docker主机不是localhost,而是docker-machine控制下的虚拟机。