我想在Heroku上使用Angular 4前端,Django后端和postgresql数据库在Docker上部署我的项目。此时我的文件如下所示。我收到错误:
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:
web: gunicorn project.wsgi
由于this case中的文件结构。我的项目树中的情况非常相似。任何人都可以告诉我Procfile
应该是什么样的?
项目树:
DockerProject
├── Dockerfile
├── Procfile
├── init.sql
├── requirements.txt
├── docker-compose.yml
└── PROJECT
├── frontend
└── backend
└── project
├── prices
├── manage.py
└── project
└── all project files
Frontend的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;
答案 0 :(得分:0)
尝试:
b=alpha_uncode_message
b=''.join(map(str,b))