Docker Container立即停止(Flask / Python / Megatutorial)

时间:2018-02-03 14:09:59

标签: python docker flask

我一直在关注不可估量的Miguel Grinberg(https://learn.miguelgrinberg.com/read/mega-tutorial/ch19.html)的烧瓶大教程,最近在部署中遇到了障碍。

docker run命令启动容器,然后立即停止。它也没有出现在docker ps -a中。我在这里搜索了很多回复,这似乎表明解决方案是在docker run命令中添加“-it”,但这并不能解决问题。

这是我的dockerfile:

FROM python:3.6-alpine

RUN adduser -D james

WORKDIR /home/myflix

COPY requirements.txt requirements.txt
RUN python -m venv venv
RUN venv/bin/pip install -r requirements.txt
RUN venv/bin/pip install gunicorn pymysql

COPY app app
COPY migrations migrations
COPY myflix.py config.py boot.sh ./
RUN chmod +x boot.sh

ENV FLASK_APP myflix.py

RUN chown -R james:james ./
USER james

EXPOSE 5000
ENTRYPOINT ["./boot.sh"]

我的图片名为myflix:secondattempt。

用于启动容器的命令:

sudo docker run --name myflixcont -d -p 8000:5000 --rm myflix:secondattempt

正如我所说,我已经尝试在“-d”前面放入“-i”和“-t”的各种组合,但无济于事。

1 个答案:

答案 0 :(得分:1)

export RSTUDIO_WHICH_R=/usr/local/bin/R 表示交互式tty 您不能将-it-it结合使用,这意味着已分离 移除-d并添加-d

-it

另一点(为了帮助你)是docker run --name myflixcont -it -p 8000:5000 --rm myflix:secondattempt 在exec模式下运行。这意味着它不会启动bash或破折号本身。您应该手动并明确地指定它:

ENTRYPOINT