Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Django与Webpack_加载程序对接时出错_Django_Docker_Webpack_Dockerfile_Gunicorn - Fatal编程技术网

将Django与Webpack_加载程序对接时出错

将Django与Webpack_加载程序对接时出错,django,docker,webpack,dockerfile,gunicorn,Django,Docker,Webpack,Dockerfile,Gunicorn,获取一堆错误以结束 “导入错误:没有名为webpack\u loader的模块” 我创建了一个Django应用程序,我正在尝试使用Gunicorn进行Docker 我的Dockerfile和start.sh位于根目录中,与另一个名为approt的目录相邻。在approt中,运行django admin startproject可以看到所有内容。我的wsgi.py文件位于approt内部名为app的目录中 这是我的 requirements.txt: Django>=1.8 gunicorn

获取一堆错误以结束

“导入错误:没有名为webpack\u loader的模块”

我创建了一个Django应用程序,我正在尝试使用Gunicorn进行Docker

我的Dockerfile和start.sh位于根目录中,与另一个名为
approt
的目录相邻。在
approt
中,运行
django admin startproject
可以看到所有内容。我的
wsgi.py
文件位于
approt
内部名为
app
的目录中

这是我的

requirements.txt:

Django>=1.8
gunicorn==19.6.0
Dockerfile:

#Dockerfile

# FROM directive instructing base image to build upon
FROM python:2-onbuild

# COPY startup script into known file location in container
COPY start.sh /start.sh

# EXPOSE port 8000 to allow communication to/from server
EXPOSE 8000

# CMD specifies the command to execute to start the server running
CMD ["/start.sh"]
start.sh:

#!/bin/bash

echo Starting Gunicorn.
cd approot
exec gunicorn app.wsgi:application \
    --bind 0.0.0.0:8000 \
    --workers 3
My settings.py包括:

INSTALLED_APPS = [
     ...,
     'webpack_loader'
]

WSGI_APPLICATION = 'app.wsgi.application'

WEBPACK_LOADER = {
    'DEFAULT': {
        'CACHE': not DEBUG,
        'BUNDLE_DIR_NAME': 'bundles/',
        'STATS_FILE': join(PROJECT_ROOT, 'webpack-stats.json'),
        'POLL_INTERVAL': 0.1,
        'TIMEOUT': None,
    }
}
错误堆栈为

$ docker run -it -p 8000:8000 app
Starting Gunicorn.
[2017-10-31 02:23:31 +0000] [1] [INFO] Starting gunicorn 19.6.0
[2017-10-31 02:23:31 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2017-10-31 02:23:31 +0000] [1] [INFO] Using worker: sync
[2017-10-31 02:23:31 +0000] [8] [INFO] Booting worker with pid: 8
[2017-10-31 02:23:31 +0000] [9] [INFO] Booting worker with pid: 9
[2017-10-31 02:23:31 +0000] [12] [INFO] Booting worker with pid: 12
[2017-10-31 02:23:31 +0000] [8] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
worker.init_process()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
self.load_wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 357, in import_app
__import__(module)
  File "/usr/src/app/approot/app/wsgi.py", line 16, in <module>
application = get_wsgi_application()
  File "/usr/local/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup(set_prefix=False)
  File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
  File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 94, in create
module = import_module(entry)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named webpack_loader
[2017-10-31 02:23:31 +0000] [8] [INFO] Worker exiting (pid: 8)
[2017-10-31 02:23:31 +0000] [9] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
worker.init_process()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
self.load_wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 357, in import_app
__import__(module)
  File "/usr/src/app/approot/app/wsgi.py", line 16, in <module>
application = get_wsgi_application()
  File "/usr/local/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup(set_prefix=False)
  File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
  File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 94, in create
module = import_module(entry)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named webpack_loader
[2017-10-31 02:23:31 +0000] [9] [INFO] Worker exiting (pid: 9)
Traceback (most recent call last):
  File "/usr/local/bin/gunicorn", line 11, in <module>
sys.exit(run())
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 192, in run
super(Application, self).run()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 72, in run
Arbiter(self).run()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 218, in run
self.halt(reason=inst.reason, exit_status=inst.exit_status)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 331, in halt
self.stop()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 381, in stop
time.sleep(0.1)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 231, in handle_chld
self.reap_workers()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 506, in reap_workers
raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
$docker run-it-p8000:8000应用程序
启动Gunicorn。
[2017-10-31 02:23:31+0000][1][INFO]启动gunicorn 19.6.0
[2017-10-31 02:23:31+0000][1][INFO]收听地点:http://0.0.0.0:8000 (1)
[2017-10-31 02:23:31+0000][1][INFO]使用辅助程序:同步
[2017-10-31 02:23:31+0000][8][INFO]带pid的引导工人:8
[2017-10-31 02:23:31+0000][9][INFO]带pid的引导工人:9
[2017-10-31 02:23:31+0000][12][INFO]带pid的引导工人:12
[2017-10-31 02:23:31+0000][8][错误]工人流程异常
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第557行,在spawn_worker中
worker.init_进程()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/base.py”,第126行,在init_进程中
self.load_wsgi()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/base.py”,第136行,在load_wsgi中
self.wsgi=self.app.wsgi()
wsgi中的文件“/usr/local/lib/python2.7/site packages/gunicorn/app/base.py”,第67行
self.callable=self.load()
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/wsgiapp.py”,第65行,已加载
返回self.load_wsgiapp()
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/wsgiapp.py”,第52行,在load_wsgiapp中
return util.import\u app(self.app\u uri)
导入应用程序中的文件“/usr/local/lib/python2.7/site packages/gunicorn/util.py”,第357行
__导入(模块)
文件“/usr/src/app/approt/app/wsgi.py”,第16行,在
application=get\u wsgi\u application()
文件“/usr/local/lib/python2.7/site packages/django/core/wsgi.py”,第13行,在get\u wsgi\u应用程序中
django.setup(set_prefix=False)
文件“/usr/local/lib/python2.7/site packages/django/_init__.py”,第27行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/usr/local/lib/python2.7/site packages/django/apps/registry.py”,第85行,填充
app_config=AppConfig.create(条目)
文件“/usr/local/lib/python2.7/site packages/django/apps/config.py”,第94行,在create中
模块=导入模块(条目)
文件“/usr/local/lib/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
ImportError:没有名为webpack\u loader的模块
[2017-10-31 02:23:31+0000][8][INFO]工人退出(pid:8)
[2017-10-31 02:23:31+0000][9][错误]工人流程异常
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第557行,在spawn_worker中
worker.init_进程()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/base.py”,第126行,在init_进程中
self.load_wsgi()
文件“/usr/local/lib/python2.7/site packages/gunicorn/workers/base.py”,第136行,在load_wsgi中
self.wsgi=self.app.wsgi()
wsgi中的文件“/usr/local/lib/python2.7/site packages/gunicorn/app/base.py”,第67行
self.callable=self.load()
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/wsgiapp.py”,第65行,已加载
返回self.load_wsgiapp()
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/wsgiapp.py”,第52行,在load_wsgiapp中
return util.import\u app(self.app\u uri)
导入应用程序中的文件“/usr/local/lib/python2.7/site packages/gunicorn/util.py”,第357行
__导入(模块)
文件“/usr/src/app/approt/app/wsgi.py”,第16行,在
application=get\u wsgi\u application()
文件“/usr/local/lib/python2.7/site packages/django/core/wsgi.py”,第13行,在get\u wsgi\u应用程序中
django.setup(set_prefix=False)
文件“/usr/local/lib/python2.7/site packages/django/_init__.py”,第27行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/usr/local/lib/python2.7/site packages/django/apps/registry.py”,第85行,填充
app_config=AppConfig.create(条目)
文件“/usr/local/lib/python2.7/site packages/django/apps/config.py”,第94行,在create中
模块=导入模块(条目)
文件“/usr/local/lib/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
ImportError:没有名为webpack\u loader的模块
[2017-10-31 02:23:31+0000][9][INFO]工人退出(pid:9)
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/gunicorn”,第11行,在
sys.exit(run())
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/wsgiapp.py”,第74行,正在运行
WSGIApplication(“%(程序)s[选项][应用程序模块]”)。运行()
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/base.py”,第192行,正在运行
super(应用程序,self).run()
文件“/usr/local/lib/python2.7/site packages/gunicorn/app/base.py”,第72行,运行中
仲裁者(self.run)()
文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第218行,正在运行
自我暂停(原因=安装原因,退出状态=安装退出状态)
文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第331行,暂停
self.stop()
文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第381行,在stop中
睡眠时间(0.1)
handle_chld中的文件“/usr/local/lib/python2.7/site packages/gunicorn/arbiter.py”,第231行
self.eaw_工人()
文件“/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py”,第506行,在Raw_-workers中
raise HaltServer(原因,self.WORKER\u引导错误)
gunicorn.errors.HaltServer:

我认为您缺少requirements.txt中的
django网页包加载器