mac访问docker-machine ip错误

mac安装好docker后,按照官方文档操作docker-machine创建本地vm

$ docker-machine create --driver virtualbox default

然后查看

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS
default   -        virtualbox   Running   tcp://192.168.99.102:2376           v18.05.0-ce   

添加环境中

$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.102:2376"
export DOCKER_CERT_PATH="/Users/xushuainan/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell: 
# eval $(docker-machine env default)

连接到环境

eval "$(docker-machine env default)"

查看ip

 $ docker-machine ip default
192.168.99.102

创建一个nginx

docker run -d -p 8000:80 nginx

查看nginx

$curl $(docker-machine ip default):8000
curl: (7) Failed to connect to 192.168.99.102 port 8000: Connection refused

这是为何???
之前也是,在docker中创建mysql也是,连接到容器内部,mysql可以用,但是从外部就不能通过vm中的ip访问。
求大神指点迷津。

阅读 5.1k
1 个回答

自然,docker-machine这堆虚拟机器的ip是他们相互通信的ip,不信你可以进入其中一个虚拟机,然后看看能不能ping通另外一台机器的nginx服务。
然后你需要把这些个虚拟机弄成一个集群,我这边是弄的Swarm集群,然后即可跑service,然后就可以宿主机端口对应容器内部端口什么的了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题