docker-compose:尝试“up”容器时没有gunicorn
当我尝试在DigitalOcean env上“升起”我的容器时,我遇到了问题。 我在14.04上使用Ubuntu Docker 1.7.1作为env液滴。 有下一个错误。
mysite | ./docker-entrypoint: line 8: exec: gunicorn: not found
这是我的Dockerfile,我尝试通过(apt-get,pip)添加gunicorn设置。 可悲的是,但它不起作用我错过了gunicorn模块有同样的问题。
Dockerfile
FROM python:2.7.7 RUN curl -sL https://deb.nodesource.com/setup | bash - RUN apt-get -y install nodejs RUN apt-get -y install libpango1.0-0 libgdk-pixbuf2.0-0 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY . /usr/src/app VOLUME /usr/src/app/venv VOLUME /usr/src/app/node_modules VOLUME /usr/src/app/static ENTRYPOINT ["./docker-entrypoint"]
此外,我试图添加gunicorn安装到入口点文件,也没有工作,仍然是“没有gunicorn模块”错误。 我想这不是一个好主意,但是无论如何,我已经检查过了。
Docker入口点
#!/bin/bash set -e if [[ -e venv/bin/activate ]]; then source venv/bin/activate fi exec "$@"
泊坞窗,compose.yml
source: extends: file: docker-compose-common.yml service: prod build: . command: bin/install redis: image: redis:latest command: redis-server --appendonly yes mysite: extends: file: docker-compose-common.yml service: prod image: mysitecatalogweb_source volumes_from: - source environment: - SITE_ID=1 command: gunicorn -k gevent -b 0.0.0.0:8000 --access-logfile - --error-logfile - mysite.wsgi
搬运工-撰写-common.yml
dev: environment: - PYTHONUNBUFFERED=1 - ENV=DEV - POSTGRES_HOST=host - POSTGRES_USER=user env_file: dev.env prod: environment: - ENV=PROD env_file: prod.env
也许我需要直接添加gunicorn安装到bin / install(这应该从源码任务中调用),但是这也可以在requirements.txt中find编辑:我试图在这里添加gunicorn,它仍然是mysite | ./docker-entrypoint: line 8: exec: gunicorn: not found
mysite | ./docker-entrypoint: line 8: exec: gunicorn: not found
斌/安装
set -e pip install virtualenv if [[ ! -e venv/bin/activate ]]; then virtualenv venv source venv/bin/activate fi pip install -r requirements.txt mkdir -p static/js npm install npm run browserify
另请检查我的requirements.txt https://gist.github.com/alexnodejs/3789b4eb7621687e010b
也许有人碰到与独angular兽类似的问题? 请告诉我应该在哪里挖。
我看到的主要问题是,您正在使用image: mysitecatalogweb_source
作为您的mysite
服务,并期待包含运行bin/install
的提交结果,而实际上并未提交到mysitecatalogweb_source
图像 – 它坐在一个容器相反,所以virtualenv从来没有在第二个mysite
容器中创build,因此没有激活, gunicorn
不可用。 从这里的代码片断看来,您应该将RUN bin/install
添加到您的Dockerfile
以便在尝试使用virtualenv之前设置virtualenv。
- 运行Dockerized Django应用程序时,Gunicorn'Worker'引导失败
- docker nginx无法与web容器build立连接
- 如何用gunicorn和bokeh服务configurationNginx
- 为使用AWS,Flask和Docker的移动应用程序的后端devise寻求build议
- 使用Webpack_Loader停滞Django
- 为什么Docker容器的图片变得如此庞大,同时在UBUNTU 16.04上倚靠python3.6,Virtualenv,Flask,Gunicorn
- gunicorn未能发射python前夕
- docker工无法访问主机中的gunicorn服务资源
- 为什么我的gunicorn Python / Flask工人退出信号术语?