当前位置:   article > 正文

Docker file 搭建 Django镜像。-bash: django-admin: command not found,Invalid HTTP_HOST header:You may need_docker invalid host header

docker invalid host header

目录:

  1. 生成 Django 项目
  2. 创建 Dockerfile



生成 Django 项目
django-admin startproject demo
  • 1
-bash: django-admin: command not found

这是由于django-admin 并没有添加到命令行运行路径下,个人建议 添加软连接

  • 所以先查找 django-admin的环境

    sudo find / -name django-admin
    
    • 1

    在这里插入图片描述
    找到 Unix System Resource 下的django-admin,因为这里要找的是 工作环境,不是安装模块,所以避开 site-packges

  • 配置软连接

    ln /usr/local/python3/bin/django-admin /usr/bin/django-admin
    
    • 1
  • OK

django-admin startproject demo
  • 1
cd demo

#  因为是随意的此时所以就不需要app了。查看是否可以启动
python3 manage.py runserver 0.0.0.0:8000 

  • 1
  • 2
  • 3
  • 4
  • 5

打开浏览器访问
在这里插入图片描述

Invalid HTTP_HOST header: '47.96.158.77:8000'. You may need to add '47.96.158.77' to ALLOWED_HOSTS.

无效的HTTP_HOST头:‘47.96.158.77:8000’。您可能需要向ALLOWED_HOSTS添加“47.96.158.77”。
不让我访问,很奇怪。大家看 之前的启动命令映射的端口是 0.0.0.0,他是可以所有都可以访问的。所以我们要讲 django -settings 中的 所有访问打开

  • 更改 settings

    cd demo  # 主应用
    
    vim settings.py  # 更改文件
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    ESC
    :wq  # 保存退出 
    
    • 1
    • 2
  • 更改后 重启服务

    python3 manage.py runserver 0.0.0.0:8000 
    
    • 1

    在这里插入图片描述
    此时的Django就已经 OK 啦。


创建 Dockerfile

  1. # 注意目录是在demo下
    
    [root@linux-node1 demo] vim Dockerfile          # dockerfile内容如下,路径放到django项目根路径
    
    • 1
    • 2
    • 3
    # demo/Dockerfile
    
    FROM python:3.6
    MAINTAINER H_sen
    RUN mkdir /code
    WORKDIR /code
    ADD . /code/
    RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    EXPOSE 8000
    CMD ["python", "manage.py", "runserver", "0:8000"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

  2. [root@linux-node1 demo] vim requirements.txt         # django需要安装的包,路径放到django项目根路径
    
    • 1
    # requirements.txt  
    
    Django==2.0.4
    mysqlclient==1.4.6
    
    • 1
    • 2
    • 3
    • 4

  3. [root@linux-node1 demo] docker build -t dj_demo:v1 -f Dockerfile .     # 一定要注意这个 .
    
    [root@linux-node1 demo] docker run -d -p 你的IP:8000:8000 dj_demo:v1  
    
    • 1
    • 2
    • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/170812
推荐阅读
相关标签
  

闽ICP备14008679号