当前位置: 首页 > news >正文

网站设计主页新媒体运营是做什么

网站设计主页,新媒体运营是做什么,江门网站程序开发制作,企业网盘搭建🐳【新手实战】用 Docker 一键部署 Flask Redis 微服务(详细教程 报错排查) 👋 作者:应届生一枚,最近在自学后端和部署相关技术。这篇文章记录了我在学习 Docker 和 docker-compose 过程中,如…

🐳【新手实战】用 Docker 一键部署 Flask + Redis 微服务(详细教程 + 报错排查)

👋 作者:应届生一枚,最近在自学后端和部署相关技术。这篇文章记录了我在学习 Dockerdocker-compose 过程中,如何从 0 开始部署一个 Flask + Redis 微服务的全过程,以及踩过的坑和一些理解,希望能帮到你。


为什么要做这个实验?(背景与动机)

我最开始接触 Flask 的时候,只在本地跑 python app.py,程序能跑起来,但每次都需要装依赖、配置环境,很容易“我这能跑你那不行”。

后来我接触到 Docker,发现它就像“打包好的开发环境 + 应用”,别人拿到镜像就能运行,特别适合部署。

但光有 Flask 还不够,大多数 Web 项目都要和数据库打交道。为了练习服务之间的通信,我就尝试在 Docker 里同时运行:

  • 一个 Flask Web 服务
  • 一个 Redis 数据库服务

两者通过 docker-compose 编排和通信,组成一个简单的微服务架构


学完这个你能掌握什么?

  • ✅ 会写一个能运行的 Flask + Redis 应用;
  • ✅ 会写 Dockerfile 打包 Python 应用镜像;
  • ✅ 会用 docker-compose 编排多容器服务;
  • ✅ 懂得容器间网络通信原理(服务名通信);
  • ✅ 能排查常见的构建 / 网络 / 依赖错误。

实验目标

我们要用容器启动两个服务:

  1. Flask:提供 Web 接口,显示访问次数;
  2. Redis:记录每次访问的计数。

最终效果:

访问 http://localhost:5000,页面显示:

Hello! I have been seen 1 times.

每刷新一次,数字会加一。


项目目录结构

我们先把项目放到一个文件夹 pycode/ 里:

pycode/
├── app.py                # Flask 应用代码
├── server.txt            # 依赖清单:flask + redis
├── Dockerfile            # 构建 Flask 镜像
├── docker-compose.yaml   # 编排 Flask + Redis 容器

app.py:核心代码

from flask import Flask
import redisapp = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)@app.route('/')
def hello():count = cache.incr('hits')return f'Hello! I have been seen {count} times.\n'if __name__ == '__main__':app.run(host='0.0.0.0', port=5000)

解释:

  • redis.Redis(host='redis'):容器内通过服务名连接 Redis;
  • cache.incr('hits'):访问一次就给 Redis 中的 hits 键加 1;
  • 0.0.0.0:让容器内部 Flask 对外暴露端口。

server.txt:Python 依赖

flask
redis

Dockerfile:构建 Flask 镜像

FROM python:3.13-alpine
WORKDIR /code
COPY server.txt .
RUN pip wheel --no-cache-dir --no-deps --wheel-dir /code/wheels -r server.txt
COPY . .
RUN pip install --no-index --no-cache-dir --find-links=/code/wheels -r server.txt
CMD ["python", "app.py"]

解释:

  • 使用 python:3.13-alpine,轻量小巧;
  • 使用 pip wheel 先生成本地依赖包,加快安装;
  • CMD 是程序入口,Flask 启动。

docker-compose.yaml:启动两个容器

version: '3'
services:web:build: .ports:- "5000:5000"depends_on:- redisredis:image: "redis:alpine"

说明:

  • build: . 表示当前目录的 Dockerfile;
  • depends_on 保证 redis 服务先启动;
  • 默认 redis 监听 6379 端口。

启动服务并访问

在项目根目录下执行:

docker-compose up --build

构建完之后你会看到 Flask 启动了:

 * Running on http://0.0.0.0:5000

此时访问:

http://localhost:5000

页面会显示访问次数。


报错排查指南(踩坑合集)

我同学有不少人部署失败,以下是我总结的几个高频错误:


❌ 1. Python 没装好?

很多人以为 Docker 要依赖本地 Python,其实不需要。

✅ Dockerfile 里已经用 FROM python:3.13-alpine 装好了 Python 环境,跟你本机有没有 Python 没关系。


❌ 2. 构建失败:镜像拉不下来

Error response from daemon: pull access denied...

📌 解决:

  • 镜像名拼错了?正确的是:python:3.13-alpine,不是 python3.13-alpine
  • 没挂梯子?换国内源:
docker pull registry.docker-cn.com/python:3.13-alpine

❌ 3. pip 安装依赖失败

Could not fetch URL https://pypi.org/simple/... timed out

解决:
添加国内 pip 源,加快速度:

mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF

❌ 4. Redis 连不上

ConnectionError: Error 111 connecting to redis:6379

检查:

  • host='redis' 是否写错;
  • redis 容器是否启动成功 (docker ps 查看);
  • flask 容器里能否 ping 通 redis (docker exec -it 容器 bash 进去 ping redis)

为什么这个实验有价值?

这不是“写完就扔”的练手项目,它是:

  • 微服务架构最基本的雏形;
  • 多容器通信的经典案例;
  • 学习部署思维的切入点(开发 ≠ 运行);
  • 为未来部署 Django、FastAPI、PostgreSQL、RabbitMQ 打基础。

后续可以拓展什么?

如果你搞定了这一版,推荐你往下探索:

  • ✅ 给 Flask 加入模板引擎和静态资源;
  • ✅ 使用 Nginx 反向代理,绑定域名;
  • ✅ Redis 做持久化:挂载数据卷保存数据;
  • ✅ Docker Compose 加入 .env 配置文件;
  • ✅ 用 GitHub Actions 实现自动构建和发布。

✅ 总结

Docker 是后端开发者的第二大脑,而 docker-compose 是你手里的魔术棒。

这次实验让我理解了什么叫“容器化部署”,也让我第一次体会到不用本机装 Python 就能跑程序的爽感

http://www.dtcms.com/a/616184.html

相关文章:

  • 做网站生意不赚钱开什么加工厂不愁销路
  • 江苏建设个人信息网站cms 排名 wordpress
  • 建网站多少钱一个月做网站公司什么条件
  • 手机微信登入网站网页毕业设计说明书
  • 企业网站备案要求做cpa用什么类型的网站好
  • 网站设计书模板快速刷网站排名
  • 百度网站怎么用企业用的邮箱是什么邮箱
  • 镇海企业建站自己怎么做一元购物网站
  • 建设机械官方网站高德地图能不能看国外
  • 怎么用凡科做网站seo网站外链工具
  • 网站建设流程详解wordpress 时间轴页面
  • 免费搭建淘宝客网站WordPress两种列表页
  • 西安英文旅游网站建设2345网址导航
  • 浙江诚峰建设工程有限公司网站贺州做网站
  • 网站注册 优帮云重庆必打卡的7个景点
  • 西宁网站制作哪里好微信小程序开发app
  • 如何建立一个手机网站网站推广策划案
  • 南山区公司网站制作外贸seo外贸推广外贸网站建设外贸网站建设
  • 海外 酒店 网站建设网站制作网站建设项目规划书
  • 制作网站注册页面吴中seo网站优化软件
  • 【C++】2:cin和cout的介绍和使用,函数的缺省参数
  • 手机上如何制作网站仿照别人的网站做违法吗
  • 网站被host重定向是什么意思织梦网站程序安装教程
  • dw简述网站开发流程网站制作易捷网络
  • 现在哪个网站做电商好中国网是什么级别的媒体
  • 婚纱摄影 网站关键词 优化公司邮箱签名模板
  • 门户网站建站多少钱wordpress插件支付宝积分
  • 江门市网站建设网站 预算
  • 深圳外贸公司网站建设公司排名韩国女排出线
  • 装饰网站的业务员都是怎么做的怎么增加网站的关键词库