Flask服务示例
Dockerfile 文件内容:
FROM python:3.8.2
# 创建 app 文件夹
RUN mkdir -p /app
# 在容器内部执行的命令
RUN pip install flask -i https://pypi.douban.com/simple/
# RUN pip install -r requirements.txt -i https://pypi.douban.com/simple/
# 将 linux 系统当前目录下的内容拷贝到容器的 /app 目录下
ADD . /app
# 暴露 5000 端口
EXPOSE 5000
# 将 app 文件夹为工作目录
WORKDIR /app
# 容器启动的时候执行的命令 flask run
CMD ["flask", "run", "--host", "0.0.0.0"]
# 用单引号的话,flask应用启动不起来,必须要用双引号
常用docker命令:
- 构建docker(在Dockerfile文件路径下执行)
docker build -t 名字:版本 .
docker run -d -p 5000:5000 镜像ID
- 查看容器状况(运行和停止的都看),可以看见容器ID
docker ps -a
- 如果启动失败(Exit(0)是正常执行完退出,其他代号是出错了退出),根据容器ID查看日志,注意服务程序需要是“阻塞”的
docker logs 容器ID
docker rmi 镜像ID --force
docker rm -vf $(docker ps -aq)
- 注:如果使用了supervisor进行了服务监控,因为要求docker内的服务是阻塞的,设置supervisor.conf中的参数
nodaemon=true ; start in foreground if true; default false
