Flask Docker Demo 项目指南

  1. 首先,创建一个新的项目目录并创建必要的文件:
bash 复制代码
mkdir flask-docker-demo
cd flask-docker-demo
  1. 创建一个简单的Flask应用 (app.py):
python:app.py 复制代码
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Docker World!!!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
  1. 创建requirements.txt文件:
plaintext:requirements.txt 复制代码
flask==3.1.0
  1. 创建Dockerfile:
dockerfile:Dockerfile 复制代码
# 使用Python官方镜像作为基础镜像
FROM python:3.10-slim

# 设置工作目录
WORKDIR /app

# 复制依赖文件
COPY requirements.txt .

# 安装依赖
RUN pip install -r requirements.txt

# 复制应用代码
COPY . .

# 暴露端口
EXPOSE 5000

# 启动命令
CMD ["python", "app.py"]
  1. 构建和运行容器的命令:
bash 复制代码
# 构建镜像
docker build -t flask-hello-world .

# 运行容器
docker run -d -p 5000:5000 --name flask-app flask-hello-world


重要的Docker命令说明:

  1. 镜像相关命令:

    • docker images:查看所有本地镜像
    • docker rmi <image-id>:删除指定镜像
    • docker build -t <tag-name> .:构建镜像
  2. 容器相关命令:

    • docker ps:查看运行中的容器
    • docker ps -a:查看所有容器(包括停止的)
    • docker start <container-id>:启动容器
    • docker stop <container-id>:停止容器
    • docker rm <container-id>:删除容器
    • docker logs <container-id>:查看容器日志
  3. 端口映射说明:

    • -p 5000:5000 中第一个5000是主机端口,第二个5000是容器内部端口
    • 可以修改主机端口,如 -p 8080:5000 将主机的8080端口映射到容器的5000端口

完成以上步骤后,你可以通过访问 http://localhost:5000 来查看运行的应用。

相关推荐
zzzyulin38 分钟前
huggingface transformers调试问题--加载本地路径模型时pdb断点消失
python·transformer
教练、我想打篮球42 分钟前
12 pyflink 的一个基础使用, 以及环境相关
python·flink·pyflink
王中阳Go背后的男人44 分钟前
Docker磁盘满了?这样清理高效又安全
后端·docker
王中阳Go1 小时前
Docker磁盘满了?这样清理高效又安全
docker
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】【天线&运输】直升机战机类型识别目标检测系统源码&数据集全套:改进yolo11-CSP-EDLAN
前端·python·yolo·计算机视觉·数据集·yolo11·直升机战机类型识别目标检测系统
C嘎嘎嵌入式开发1 小时前
(21)100天python从入门到拿捏《XML 数据解析》
xml·开发语言·python
蓝博AI1 小时前
基于卷积神经网络的香蕉成熟度识别系统,resnet50,vgg16,resnet34【pytorch框架,python代码】
人工智能·pytorch·python·神经网络·cnn
小白银子1 小时前
零基础从头教学Linux(Day 54)
linux·windows·python
不爱搬砖的码农2 小时前
宝塔面板部署Django:使用Unix Socket套接字通信的完整教程(附核心配置与问题排查)
python·django·unix
滑水滑成滑头2 小时前
**发散创新:探索零信任网络下的安全编程实践**随着信息技术的飞速发展,网络安全问题日益凸显。传统的网络安全防护方式已难以
java·网络·python·安全·web安全