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
相关文章
kde
|
15天前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
kde
378 4
|
1月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
130 5
|
15天前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
57 5
|
2月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
128 12
docker 部署 sftp
kde
|
1月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
kde
497 7
|
2月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
765 6
kde
|
1月前
|
存储 搜索推荐 数据库
? RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
kde
1220 8
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
292 4
|
2月前
|
前端开发 JavaScript 应用服务中间件
在Docker部署的前端应用中使用动态环境变量
以上步骤展示了如何在 Docker 配置过程中处理并注入环墨遁形成可执行操作流程,并确保最终用户能够无缝地与之交互而无须关心背后复杂性。
144 13
http://www.vxiaotou.com