使用IP连接到docker容器

时间:2017-09-20 18:21:32

标签: django postgresql docker docker-machine

我正在运行下一个命令:

$ 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

我有一些泊坞容器。 一旦运行django,其他一个postgres和第三个弹性搜索。

当我使用以下代码运行django容器时

# python manage.py runserver 0:8000

当我使用网站时,它正在运行:

localhost:8000/

但是,我使用时无法使用:192.168.99.100:8000 在那里,我有浏览器消息:

  

无法访问此网站

     

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

postgreselasticseach容器也是如此。

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

1 个答案:

答案 0 :(得分:1)

听起来您没有告诉Docker与您的VM通信,并且您的容器正在主机上运行。

要解决:

  1. 放下容器

  2. 运行$ eval "$(docker-machine env default)",设置以下环境变量:

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

    这告诉Docker如何与您的VM通信。

  3. 旋转容器备份