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

简介: 本文记录了我在阿里云服务器上使用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
相关文章
|
4月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1848 4
|
4月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
219 17
|
4月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
214 5
|
4月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1080 5
|
5月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
486 12
docker 部署 sftp
|
5月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
1876 6
|
4月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1300 7
|
4月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
3180 8