Docker(www.docker.io)看起来很棒。但是,在在Mac上安装VirtualBox、Vagrant和Docker后,我发现无法从另一台计算机(或者从Mac的终端会话)访问运行在Docker容器中的服务。我试图访问的服务是Redis。
问题似乎在于没有路由到分配给Docker容器的IP地址。在此情况下,容器的IP是172.16.42.2,而Mac的IP是196.168.0.3。
几个注释:
- 它是可以访问的——但仅限于在VirtualBox会话内部。这可以使用redis-cli -h 172.16.42.2 -p 6379来完成。
- 我在VagrantFile中添加了"config.vm.network: bridged",尝试解决问题,但无效。
docker run -d -p :8989
直接将端口映射到公共的同一端口,具体操作请参考 https://github.com/dotcloud/docker/commit/2aad4a34785a1b0d02d910a14dbb9b0d6d3edc17。 - bojodocker -d -H tcp://0.0.0.0:4243
,客户端像这样:docker -H tcp://<vm的ip>:4243 run -i -t base bash
。 - creack