Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask应用程序在终端中运行,但不在Docker容器中运行_Python_Docker_Flask_Docker Compose_Dockerfile - Fatal编程技术网

Python Flask应用程序在终端中运行,但不在Docker容器中运行

Python Flask应用程序在终端中运行,但不在Docker容器中运行,python,docker,flask,docker-compose,dockerfile,Python,Docker,Flask,Docker Compose,Dockerfile,所以,我有一个flask应用程序,当我通过终端运行它时,它运行得很好,但是出于某种原因,如果我启动docker容器,它会立即以“退出代码零”退出 以下是文件夹结构: docker-compose.yml: version: '3.2' services: flask-app: build: ./Flask_App volumes: - ./Flask_App/static:/Flask_App/static

所以,我有一个flask应用程序,当我通过终端运行它时,它运行得很好,但是出于某种原因,如果我启动docker容器,它会立即以“退出代码零”退出

以下是文件夹结构:

docker-compose.yml:

version: '3.2'

services:

    flask-app:
        build: ./Flask_App
        volumes:
            - ./Flask_App/static:/Flask_App/static
            - ./Flask_App/db:/Flask_App/db
        ports:
            - '5001:5001'
        # restart: unless-stopped

Dockerfile:

FROM python:3

# Setup env
COPY requirements.txt ./

RUN pip install -r requirements.txt

# Setup App
RUN mkdir -p /Flask_App

COPY . /Flask_App

WORKDIR /Flask_App

EXPOSE 5001

ENTRYPOINT [ 'python3' ]

CMD [ 'app.py' ]
还有app.py文件:(我知道它只是导入,但当我通过主机上的终端运行它时,它工作正常,所以它可能工作正常)

为了以防万一,这里是'config.py'文件的一部分:

DEBUG = False
HOST = '0.0.0.0'
PORT = 5001

正如在评论中所说,我在
入口点
CMD
中使用的单引号(
)应该更改为双引号(
),因为它们应该是JSON数组。

docker logs containerid
将显示容器的日志,也请将其粘贴。或者,如果在不使用-d选项的情况下运行docker run,也将在stdout中显示日志。将
入口点
CMD
行中的单引号更改为双引号是否可以解决问题?它们应该是JSON数组。没有f*这样做,只是
ENTRYPOINT
CMD
DEBUG = False
HOST = '0.0.0.0'
PORT = 5001