我在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
答案 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控制下的虚拟机。