Docker——阿里云服务器使用Docker部署python项目全程小记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。

  本文记录了我在阿里云服务器上使用Docker部署python项目(以flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。


一、准备python项目,并上传项目文件

首先,需要准备一个python的项目,这里以flask项目为例,只准备了两个文件,分别是app.py和requirements.txt。      

  image.png

app.py:

from flask import Flask, jsonify
import logging

app = Flask(__name__)

# 配置日志记录器
logging.basicConfig(
    filename='app.log',
    level=logging.DEBUG,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

logger = logging.getLogger(__name__)

# 商品数据列表
products = [
    {
        "id": 1,
        "name": "iPhone 15",
        "price": 7999.0,
    },
    {
        "id": 2,
        "name": "Samsung Galaxy S24",
        "price": 6999.0,
    },
    {
        "id": 3,
        "name": "MacBook Air",
        "price": 9999.0,
    }
]

# 获取所有商品信息
@app.route('/products', methods=['GET'])
def get_all_products():
    logging.info('获取所有商品接口被调用了...')
    return jsonify(products)



if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)


要注意,这里的 host='0.0.0.0' 必须是这个,才能允许公共访问,至于端口可以自定义


requirements.txt 里面填写的是项目的依赖:

flask


将项目文件上传至服务器目录 /opt/py 这个路径后面挂载会用到

image.png



二、pull一个python镜像环境


          这里默认已经安装了Docker,在服务器上执行以下命令,拉去python环境最新镜像

docker pull python

image.png


下载成功后,使用 docker images 查看,如下

image.png



三、创建容器、挂载目录


有了环境,就要创建一个容器了,命令如下

docker run -it -d --name=py_dev -p 5000:5000 -v /opt/py:/app python:latest bash 

image.png


此时,容器已经创建成功,可以使用 docker ps 进行查看

image.png



四、安装项目相关依赖

创建的项目要成功运行起来,必须先在容器中下载相关的依赖,命令如下

docker exec -it py_dev bash  --进入容器bash
cd /app
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --在容器bash内安装requirements.txt填写的依赖,在/app下执行

image.png


如上,依赖安装完成。




五、启动项目

当相关依赖安装完成,这时就可以启动项目了,在 /app 目录下执行以下命令进行后台启动


nohup python app.py > app.log 2>&1 &

image.png


这时,项目已经启动成功了,并且 app.log 文件会有启动日志

image.png



六、测试验证

最后,我们可以使用浏览器访问接口 http://公网ip:端口号/products 进行验证了,可以看到接口正常访问,说明python项目已经部署成功。

image.png

============


感谢阅读!


不要忘记点赞、收藏、关注哦!

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
537 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
1月前
|
Python
Python项目配置Dockerfile
该Dockerfile基于阿里云Alinux3的Python 3.11.1镜像构建,使用阿里云PyPI镜像加速依赖安装,部署一个运行于5000端口、时区为上海的Python应用。
138 1
|
10天前
|
API 语音技术 开发者
Python 项目打包,并上传到 PyPI,分享项目
本文介绍了如何使用 Poetry 打包并发布一个 Python 项目至 PyPI。内容包括:项目创建、配置 `pyproject.toml` 文件、构建软件包、上传至 PyPI、安装与使用。通过实例 iGTTS 展示了从开发到发布的完整流程,帮助开发者快速分享自己的 Python 工具。
|
1月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
399 1
|
2月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
470 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
3月前
|
监控 大数据 API
Python 技术员实践指南:从项目落地到技术优化
本内容涵盖Python开发的实战项目、技术攻关与工程化实践,包括自动化脚本(日志分析系统)和Web后端(轻量化API服务)两大项目类型。通过使用正则表达式、Flask框架等技术,解决日志分析效率低与API服务性能优化等问题。同时深入探讨内存泄漏排查、CPU瓶颈优化,并提供团队协作规范与代码审查流程。延伸至AI、大数据及DevOps领域,如商品推荐系统、PySpark数据处理和Airflow任务编排,助力开发者全面提升从编码到架构的能力,积累高并发与大数据场景下的实战经验。
Python 技术员实践指南:从项目落地到技术优化
|
2月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
574 0
|
2月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
278 5
|
3月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
361 12
|
4月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
321 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程