首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker + Django +角+ Heroku + Postgresql -状态为127的进程退出,错误code=H10 desc=“App崩溃”

Docker + Django +角+ Heroku + Postgresql -状态为127的进程退出,错误code=H10 desc=“App崩溃”
EN

Stack Overflow用户
提问于 2017-07-09 23:01:21
回答 1查看 1.2K关注 0票数 0

我正试图在Heroku上部署我在Docker中的项目,其中包含了角4前端、Django后端和postgresql数据库。此时,我的文件如下所示。我敢肯定这样做是否正确?我使用heroku container:push web --app myproject推送它,但它不工作(日志)。当我在没有Heroku的情况下运行docker-compose up时,一切似乎都正常工作。

我注意到日志中有Process exited with status 127。我在这里发现127 Return code from $?

Value 127 is returned by /bin/sh when the given command is not found within your PATH system variable and it is not a built-in shell command. In other words, the system doesn't understand your command, because it doesn't know where to find the binary you're trying to call.

此外,当我尝试不同的命令时,我经常会收到类似/bin/sh: 1 not found的错误,就像我在this post中描述的那样。也许这就是问题的根源?或者最终会出现像this这样的端口问题?

还有其他想法吗?在我看来,我试过所有的事情。我不知道是怎么回事。

如果你能告诉我我是否做好了每件事,我将不胜感激。

代码语言:javascript
运行
复制
1.`heroku login`
2.`heroku container:login`
3.`heroku create nameofmyapp`
4.`heroku container:push web --app nameofmyapp`
5.`heroku open --app nameofmyapp`

日志:

代码语言:javascript
运行
复制
2017-07-08T13:19:48.882112+00:00 heroku[web.1]: Process exited with status 0
2017-07-08T13:20:40.336825+00:00 heroku[run.9745]: Awaiting client
2017-07-08T13:20:40.395900+00:00 heroku[run.9745]: Starting process with command `docker-compose up`
2017-07-08T13:20:40.542168+00:00 heroku[run.9745]: State changed from starting to up
2017-07-08T13:20:45.727667+00:00 heroku[run.9745]: State changed from up to complete
2017-07-08T13:20:45.715556+00:00 heroku[run.9745]: Process exited with status 127
2017-07-08T13:21:39.171330+00:00 heroku[run.8300]: Awaiting client
2017-07-08T13:21:39.198870+00:00 heroku[run.8300]: Starting process with command `docker-compose up`
2017-07-08T13:21:39.470489+00:00 heroku[run.8300]: State changed from starting to up
2017-07-08T13:21:43.381827+00:00 heroku[run.8300]: State changed from up to complete
2017-07-08T13:21:43.369201+00:00 heroku[run.8300]: Process exited with status 127
2017-07-08T13:25:26.780464+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myapp.herokuapp.com request_id=cb876e32-ca19-467e-85a6-5babab50beab fwd="109.153.174.199" dyno= connect= service= status=503 bytes= protocol=https
Disconnected from log stream. There may be events happening that you do not see here! Attempting to reconnect...
2017-07-08T13:20:40.336825+00:00 heroku[run.9745]: Awaiting client
2017-07-08T13:20:40.395900+00:00 heroku[run.9745]: Starting process with command `docker-compose up`
2017-07-08T13:20:40.542168+00:00 heroku[run.9745]: State changed from starting to up
2017-07-08T13:20:45.727667+00:00 heroku[run.9745]: State changed from up to complete
2017-07-08T13:20:45.715556+00:00 heroku[run.9745]: Process exited with status 127
2017-07-08T13:21:39.171330+00:00 heroku[run.8300]: Awaiting client
2017-07-08T13:21:39.198870+00:00 heroku[run.8300]: Starting process with command `docker-compose up`
2017-07-08T13:21:39.470489+00:00 heroku[run.8300]: State changed from starting to up
2017-07-08T13:21:43.381827+00:00 heroku[run.8300]: State changed from up to complete
2017-07-08T13:21:43.369201+00:00 heroku[run.8300]: Process exited with status 127
2017-07-08T13:25:26.780464+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=myapp.herokuapp.com request_id=cb876e32-ca19-467e-85a6-5babab50beab fwd="109.153.174.199" dyno= connect= service= status=503 bytes= protocol=https

项目树:

代码语言:javascript
运行
复制
├── Backend
│   ├── AI
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-36.pyc
│   │   │   ├── settings.cpython-36.pyc
│   │   │   ├── urls.cpython-36.pyc
│   │   │   └── wsgi.cpython-36.pyc
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── manage.py
├── Dockerfile
├── init.sql
├── Frontend
│   └── angularProject
        ├── Dockerfile
│       └── all files in my angular project 
├── docker-compose.yml
└── requirements.txt

前端文档:

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

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

docker-compose.yml:

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

代码语言:javascript
运行
复制
CREATE USER myUser;
CREATE DATABASE myProject;
GRANT ALL PRIVILEGES ON DATABASE myProject TO myUser;
EN

Stack Overflow用户

发布于 2017-09-14 17:59:32

我想我正在运行相同的问题,也许您应该只使用docker-组合来在本地运行您的应用程序,并将其配置为使用postgres插件:https://devcenter.heroku.com/articles/heroku-postgresql在heroku上运行。

但我不知道在那之后该如何启动应用程序。我可以使用django命令进行迁移: python迁移,但是不能使用heroku运行python启动manage.py上的服务器,因为我正在上传一个Docker。所以我不知道如何启动应用程序。也许外接程序能帮上忙.

编辑1:为django应用程序解决了它,查看我的问题:Docker + Django + Postgres Add-on + Heroku

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45001842

复制
相关文章

相似问题

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