Django不会从Docker

时间:2017-04-30 04:11:41

标签: django docker

Docker启动我的django服务器,并在0.0.0.0:8000处显示,但我无法在浏览器中访问它,0.0.0.0:8000和127.0.0.1:8000都无法正常工作

web_1  | You have unapplied migrations; your app may not work properly until 
they are applied.
web_1  | Run 'python manage.py migrate' to apply them.
web_1  | April 30, 2017 - 03:36:35
web_1  | Django version 1.8.5, using settings 'my_project.settings'
web_1  | Starting development server at http://0.0.0.0:8000/
web_1  | Quit the server with CONTROL-C.

Dockerfile

version: '2'
services:
  db:
    image: postgres
  web:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

2 个答案:

答案 0 :(得分:1)

您是否将主机上的端口映射到容器上的端口8000?例如,您可以在--publish 1234:8000命令中指定docker run,将主机端口1234映射到容器端口8000,然后在http://localhost:1234/到达它。

答案 1 :(得分:0)

如果您使用的是旧版Docker Toolbox,则在这种情况下,您需要找到运行Docker引擎的VM的IP。如果运行 docker-machine ls ,它将显示您活动引擎的IP。然后,转到该容器的端口8000。 例如http://192.168.99.100:8000/ 在这里,192.168.99.100是运行我的Docker引擎的VM的IP地址。

此外,您还必须在setting.py文件的ALLOWED_HOST中添加虚拟机的IP