2017-07-10 3 views
0

Angular 4フロントエンド、Djangoバックエンド、およびpostgresqlデータベースを使用して、DokuerのHerokuプロジェクトにデプロイしたいと考えています。この時点で私のファイルは以下のようになります。私はエラーを取得する:私のProcfileはどのように見えますか?

2017-07-10T19:44:39.000000+00:00 app[api]: Build succeeded 
2017-07-10T19:45:19.954230+00:00 heroku[web.1]: Starting process with command `gunicorn pri.wsgi` 
2017-07-10T19:45:22.834045+00:00 app[web.1]: [2017-07-10 19:45:22 +0000] [4] [INFO] Starting gunicorn 19.7.1 
2017-07-10T19:45:22.834597+00:00 app[web.1]: [2017-07-10 19:45:22 +0000] [4] [INFO] Listening at: http://0.0.0.0:53621 (4) 
2017-07-10T19:45:22.834712+00:00 app[web.1]: [2017-07-10 19:45:22 +0000] [4] [INFO] Using worker: sync 
2017-07-10T19:45:22.838348+00:00 app[web.1]: [2017-07-10 19:45:22 +0000] [8] [INFO] Booting worker with pid: 8 
2017-07-10T19:45:22.842567+00:00 app[web.1]: [2017-07-10 19:45:22 +0000] [8] [ERROR] Exception in worker process 
2017-07-10T19:45:22.842570+00:00 app[web.1]: Traceback (most recent call last): 
2017-07-10T19:45:22.842571+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 578, in spawn_worker 
2017-07-10T19:45:22.842572+00:00 app[web.1]:  worker.init_process() 
2017-07-10T19:45:22.842573+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 126, in init_process 
2017-07-10T19:45:22.842574+00:00 app[web.1]:  self.load_wsgi() 
2017-07-10T19:45:22.842574+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py", line 135, in load_wsgi 
2017-07-10T19:45:22.842575+00:00 app[web.1]:  self.wsgi = self.app.wsgi() 
2017-07-10T19:45:22.842575+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi 
2017-07-10T19:45:22.842576+00:00 app[web.1]:  self.callable = self.load() 
2017-07-10T19:45:22.842576+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 65, in load 
2017-07-10T19:45:22.842577+00:00 app[web.1]:  return self.load_wsgiapp() 
2017-07-10T19:45:22.842577+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp 
2017-07-10T19:45:22.842577+00:00 app[web.1]:  return util.import_app(self.app_uri) 
2017-07-10T19:45:22.842578+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 352, in import_app 
2017-07-10T19:45:22.842578+00:00 app[web.1]:  __import__(module) 
2017-07-10T19:45:22.842582+00:00 app[web.1]: ModuleNotFoundError: No module named 'project' 

それは私の Procfileによって原因であるように私には思える:原因this caseのようにファイルの私の構造に

web: gunicorn project.wsgi 

。私は私のプロジェクトツリーに非常に似た状況を持っています。誰でも私のProcfileの様子を私に見せることができますか?

プロジェクトツリー:

DockerProject 
     ├── Dockerfile 
     ├── Procfile 
     ├── init.sql 
     ├── requirements.txt 
     ├── docker-compose.yml 
     └── PROJECT 
      ├── frontend 
      └── backend 
        └── project 
         ├── prices 
         ├── manage.py 
         └── project 
           └── all project files 

フロントエンドのDockerfile:

# Create image based on the official Node 6 image from dockerhub 
FROM node:6 

# Create a directory where our app will be placed 
RUN mkdir -p /usr/src/app 

# Change directory so that our commands run inside this new directory 
WORKDIR /usr/src/app 

# Copy dependency definitions 
COPY package.json /usr/src/app 

# Install dependecies 
RUN npm install 

# Get all the code needed to run the app 
COPY . /usr/src/app 

# Expose the port the app runs in 
EXPOSE 4200 

# Serve the app 
CMD ["npm", "start"] 

メインディレクトリのDockerfile:

FROM python:3.6.1 
ENV PYTHONUNBUFFERED 1 
RUN mkdir /code 
WORKDIR /code 
ADD requirements.txt /code/ 
RUN pip3 install -r requirements.txt 
ADD . /code/ 

ドッキングウィンドウ-compose.yml:

version: '3' 

services: 
    db: 
    image: postgres 
    environment: 
     POSTGRES_USER: aso 
     POSTGRES_PASSWORD: somepass 
    django: 
    build: . 
    command: python3 MainDirectory/backend/myProject/manage.py runserver 0.0.0.0:8001 
    volumes: 
     - .:/code 
    ports: 
     - "8001:8001" 
    depends_on: 
     - db 
    angular: 
    build: MainDirectory/frontend 
    ports: 
     - "4200:4200" 
    depends_on: 
     - django 

init.sql:

CREATE USER myUser; 
CREATE DATABASE myProject; 
GRANT ALL PRIVILEGES ON DATABASE myProject TO myUser; 

答えて

1

試してみてください。

web: sh -c 'cd PROJECT/backend/project && gunicorn project.wsgi --log-file -' 
関連する問題