首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >船坞-构图:在尝试“向上”容器时没有胶角。

船坞-构图:在尝试“向上”容器时没有胶角。
EN

Stack Overflow用户
提问于 2015-07-21 14:13:16
回答 1查看 3.1K关注 0票数 6

当我试图在DigitalOcean env上“提升”我的容器时,我就面临着问题。我有Ubuntu 1.7.1在14.04上作为env液滴。下一个错误。

mysite | ./docker-entrypoint: line 8: exec: gunicorn: not found

这是我的Dockerfile,我试图通过(apt-get,pip)添加gunicorn设置。可悲的是,但它不起作用,我有同样的问题,错过了古尼科恩模块。

Dockerfile

代码语言:javascript
复制
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设置添加到入口点文件中,该文件也没有工作,仍然存在"no模块“错误。我想把它加到这里不是个好主意,但不管怎样,我已经查过了。

码头入口点

代码语言:javascript
复制
#!/bin/bash
set -e

if [[ -e venv/bin/activate ]]; then
    source venv/bin/activate
fi

exec "$@"

docker-compose.yml

代码语言:javascript
复制
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

docker-compose-common.yml

代码语言:javascript
复制
dev:
  environment:
    - PYTHONUNBUFFERED=1
    - ENV=DEV
    - POSTGRES_HOST=host
    - POSTGRES_USER=user
  env_file: dev.env

prod:
  environment:
    - ENV=PROD
  env_file: prod.env

也许我需要直接在bin/install中添加gunicorn安装程序(应该从源任务中调用),但这也可以在requirements.txt add:中找到,我尝试在这里添加gunicorn,但它仍然是mysite | ./docker-entrypoint: line 8: exec: gunicorn: not found

bin/安装

代码语言:javascript
复制
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

也许有人已经和独角兽碰到了类似的问题?请告诉我应该在哪里挖。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-18 08:42:42

我看到的主要问题是,您将image: mysitecatalogweb_source用于您的mysite服务,并期望包含运行bin/install的提交结果,它实际上并没有提交到mysitecatalogweb_source映像中--它位于一个容器中,因此virtualenv从未在第二个mysite容器中创建,因此没有激活,gunicorn也不可用。从这里的片段来看,您应该将RUN bin/install添加到您的Dockerfile中,以便在尝试使用它之前设置虚拟主机。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31541581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档