python - dockerized badgr-server 后“http://127.0.0.1:8000/ 可能暂时关闭”
问题描述
我正在尝试 dockerize django/python 项目:badgr-server 从这里:我成功地将它部署在没有 docker 的 ubuntu 18.04 的 localhost 上。然后我尝试 dockerize,构建进行得很顺利。当我这样做时:
docker container run -it -p 8000:8000 badgr python root/badgr/code/manage.py runserver
localhost:8000 上什么也没有
注意:docker container run -it -p 8000:8000 badgr python ./manage.py
不会工作。
输出:
?: (rest_framework.W001) You have specified a default PAGE_SIZE pagination rest_framework setting,without specifying also a DEFAULT_PAGINATION_CLASS.
HINT: The default for DEFAULT_PAGINATION_CLASS is None. In previous versions this was PageNumberPagination. If you wish to define PAGE_SIZE globally whilst defining pagination_class on a per-view basis you may silence this check.
System check identified 1 issue (0 silenced).
August 06, 2019 - 10:01:22
Django version 1.11.21, using settings 'mainsite.settings_local'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
我在 setting_local.py 中将 ALLOWED_HOSTS 更改为:
ALLOWED_HOSTS = ['*']
谢谢!** 非常欢迎额外的建议!**
这是 Dockerfile :
FROM ubuntu:18.04
# Preparation
RUN apt-get update
# Install server dependencies
RUN apt-get install -y curl git git-core python-virtualenv gcc python-pip python-dev libjpeg-turbo8 libjpeg-turbo8-dev zlib1g-dev libldap2-dev libsasl2-dev swig libxslt-dev automake autoconf libtool libffi-dev libcairo2-dev libssl-dev
RUN pip install virtualenv --upgrade
#RUN apt install libjpeg8-dev zlib1g-dev -y libcairo2
RUN pip install pillow
# Install database
Run apt-get install -y libmariadbclient-dev zlib1g-dev libssl-dev
# Install main dependencies
Run apt-get install -y libffi-dev libxslt-dev libsasl2-dev libldap2-dev
Run apt-get install -y libmariadbclient-dev zlib1g-dev python-dev libssl-dev python-virtualenv
# Install other useful tools
RUN apt-get install -y git vim sudo curl unzip
RUN apt-get install -y sqlite3
# Cleaning
RUN apt-get clean
RUN apt-get purge
# ADD settings.py /root/settings.py
ADD settings_local.py /root/settings_local.py
# Install the backend
RUN mkdir ~/badgr \
&& cd ~/badgr \
&& git clone https://github.com/concentricsky/badgr-server.git code \
&& cd code \
&& pip install -r requirements.txt \
&& cp /root/settings_local.py apps/mainsite/ \
&& ./manage.py migrate \
&& ./manage.py dist
EXPOSE 8000
解决方案
docker container run --net=host -it -p 8000:8000 badgrrr python root/badgr/code/manage.py runserver
它成功了!
有谁知道为什么它在默认网络上不起作用?
像dis一样运行它是错误的吗?德克萨斯州。
推荐阅读
- javascript - 用玩笑模拟节点配置
- java - 使用 tflite 模型的 YoloV3 对象检测随机返回大约 160 个边界框,所有边界框都从标签文本中标记为第一类
- python - 如何使用 Flask 返回 .find() 作为响应?
- node.js - 使用节点 js 进行条带订阅
- r - R plm 包中关于长度相同但内容不同的索引的警告消息
- python - 以 t 开头但以非 e 结尾的单词
- mysql - 如何在 Woocommerce 中删除具有相同产品 ID 的重复产品?
- python - 列表理解中的列表弹出未获得预期结果
- npm - 从 GitLab npm 包中获取 package.json
- spring-boot - 如何在 Spring Batch 中的每个分区步骤完成后添加 tasklet 以运行