加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

django – docker-compose:尝试“up”容器时没有枪炮

发布时间:2020-12-16 03:38:57 所属栏目:安全 来源:网络整理
导读:当我尝试在DigitalOcean环境中“装满”我的容器时,我遇到了问题.我在14.04上有Ubuntu Docker 1.7.1作为env droplet.有下一个错误. mysite | ./docker-entrypoint:第8行:exec:gunicorn:未找到 这是我的Dockerfile,我尝试通过(apt-get,pip)添加gunicorn设

当我尝试在DigitalOcean环境中“装满”我的容器时,我遇到了问题.我在14.04上有Ubuntu Docker 1.7.1作为env droplet.有下一个错误.

mysite | ./docker-entrypoint:第8行:exec:gunicorn:未找到

这是我的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(应该从source任务调用),但这也可以在requirements.txt中找到EDITED:我试图在这里添加gunicorn但它仍然是
mysite | ./docker-entrypoint:第8行:exec:gunicorn:未找到

斌/安装

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

也许有人已经遇到过与独角兽类似的问题?
请告诉我应该挖的地方.

最佳答案
我看到的主要问题是你正在使用image:mysitecatalogweb_source为你的mysite服务,并期望包含运行bin / install的提交结果,它实际上没有提交给mysitecatalogweb_source图像 – 它坐在一个容器中相反,所以virtualenv从未在第二个mysite容器中创建,因此没有激活,并且gunicorn不可用.从这里的片段开始,您似乎应该将RUN bin / install添加到Dockerfile中,以便在尝试使用它之前设置virtualenv.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读