使用IP连接到docker集装箱

我正在运行下一个命令:

$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v17.06.2-ce $ docker-machine ip default 192.168.99.100 

我有一些docker集装箱。 一旦运行django ,另一个postgres和第三个弹性search。

当我运行我的django容器时:

 # python manage.py runserver 0:8000 

当我使用该网站时,它正在工作:

 localhost:8000/ 

但是,当我使用时不可用: 192.168.99.100:8000 : 192.168.99.100:8000那里,我有浏览器消息:

此网站无法联系到

拒绝连接192.168.99.100。 尝试:检查连接

postgreselasticseach容器也一样。

为什么我的docker容器没有应用default docker-machine ip

这听起来好像你还没有告诉Docker与你的VM交谈,并且你的容器正在你的主机上运行。

解决:

  1. 放下你的容器

  2. 运行$ eval "$(docker-machine env default)" ,它设置下列环境variables:

     export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://xxxx:2376" export DOCKER_CERT_PATH="/Users/<yourusername>/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" 

    这告诉Docker如何与您的虚拟机交谈。

  3. 旋转容器备份