在docker容器中运行的应用程序无法访问?

时间:2017-04-24 05:13:19

标签: docker

我创建了一个docker镜像,其中包含运行我的Django应用程序的所有设置。 第1步:

docker images 
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
sidhartha03/django   latest              c4ba9ec8e613        About an hour ago   704 MB

第2步:

docker run -i -t c4ba9ec8e613 /bin/bash

第3步:

root@257f4e73ffa0:/# cd /home

步骤4:激活虚拟环境

root@257f4e73ffa0:/home# source my_env/bin/activate

第5步:

root@257f4e73ffa0:/home# cd my_project_directory

步骤6:Gunicorn绑定coomand以部署Django应用程序

root@257f4e73ffa0:/home/my_project_directory# gunicorn OPC.wsgi:application --bind=0.0.0.0:8000 --daemon

第7步:重启Nginx

root@257f4e73ffa0:/home/my_project_directory# sudo service nginx restart

步骤8:检查应用程序是否正在运行

root@257f4e73ffa0:/home/my_project_directory# netstat -tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      22/python  

--->但该应用程序无法访问127.0.0.1:8000 在浏览器中获取以下内容 无法访问此网站

127.0.0.1拒绝连接。 尝试: 检查连接 检查代理和防火墙 ERR_CONNECTION_REFUSED

1 个答案:

答案 0 :(得分:1)

您应该将运行gunicorn的容器端口绑定到主机。为此,请使用以下命令。

docker run -i -t -p 8000:8000 c4ba9ec8e613 /bin/bash