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
目录
打赏
0
1
0
0
40
分享
相关文章
|
7天前
|
Python项目配置Dockerfile
该Dockerfile基于阿里云Alinux3的Python 3.11.1镜像构建,使用阿里云PyPI镜像加速依赖安装,部署一个运行于5000端口、时区为上海的Python应用。
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
145 0
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
21天前
|
Docker Compose :从入门到企业级部署
Docker Compose 是用于定义和运行多容器应用的工具,支持服务、网络和卷三大核心要素。通过简洁的 YAML 文件,可实现应用的快速部署与管理,适用于开发、测试及生产环境。
77 0
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
236 16
【Docker项目实战】使用Docker部署dufs文件服务器
用 Docker 轻松部署 ERPNext 15:多场景实战指南
ERPNext 15 是一款功能全面的开源企业资源规划系统,结合 Docker 容器化部署,具备高效、灵活、低成本等优势。适用于小微企业数字化起步、多分支机构协同办公、开发者测试环境搭建、短期项目管理及企业内部培训等多种场景。模块化设计支持按需扩展,满足不同规模企业需求,是实现高效企业管理的理想选择。
用 Docker 轻松部署 ERPNext 15:多场景实战指南
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
静态资源管理:Nginx在Docker中的部署
部署Nginx到Docker中作为静态资源服务器是一种既简单又高效的方法,可以节省时间和资源,并能确保一致性和可扩展性。我们通过编写Dockerfile指定了基础镜像和所需指令,编写Nginx配置管理请求处理,构建自定义Docker镜像,并运行容器以启动服务。这一过程即符合开发规范,也保证了资源的高效管理和访问速度。
135 13
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
196 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问