码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【超实用】3 分钟,教你用 Docker 部署一个 Python 应用!


    今天小编来为大家分享一下如何在Docker部署一个Python项目,使用Docker部署项目的优势有

    • 可以高效利用系统资源

    • 服务启动更快

    • 环境一致,迁移更加方便

    Flask项目

    这里为了演示的方便,我们就写一个简单的Flask项目,代码如下

    1. from flask import Flask
    2. app = Flask(__name__)
    3. @app.route('/')
    4. def index():
    5.     return "Hello World!"
    6. if __name__ == '__main__':
    7.     app.run(host="0.0.0.0", port=5000,debug=True)

    显而易见,就是一个非常基础的项目,当我们在浏览器输入网址以及对应的端口号的时候,会返回“Hello World!”内容。

    创建DockerFile描述文件

    Dockerfile是一个放置在项目根目录下的描述文件,其中包含了一条条指令,有了这个文件,就可以创建出我们所需要的镜像。

    编辑DockerFile文件

    1. #设置python环境镜像
    2. FROM python:3.6
    3. # 设置src文件夹是工作目录
    4. WORKDIR /src
    5. # 安装相应的python库
    6. RUN pip install -r requirements.txt
    7. COPY . .
    8. # 执行Python程序(网页程序主程序)
    9. CMD ["python3", "src/app.py"]

    创建镜像

    我们进入到项目目录当中,先来查看一下当前的镜像

    docker images

    然后我们开始创建网页程序的镜像

    docker build -t docker_flask_image .

    docker build命令主要是用于创建镜像,当中的参数-tag,-t 代表的是镜像的名字及标签,

    587e3f077e029aef477470779da2097d.png

    运行镜像容器

    使用docker run命令基于镜像运行一个容器

    其中常用的参数有

    • -d 代表容器在后台运行,不是基于前台运行

    • --name 代表执行容易的别名

    • -p:用于配置宿主机与容器的端口映射

    命令行如下

    sudo docker run -d --name flask_web -p 5000:5000 docker_flask_image

    测试实践

    最后我们在浏览器中,访问一下该网页,要是你用到的是远程服务器,则需要用到公网的IP,对应的端口号是5000

    ce761e25fbf68ae3c56958af6922a6f1.png

    可以看到网页访问成功了,出来一个“Hello World!”的页面,这样我们网页程序就成功部署在了Docker当中

    NO.1

    往期推荐

    Historical articles

    总结了25个Pandas Groupby 经典案例!!

    这几个Matplotlib绘图技巧,真的是太实用了

    浅谈Python当中好用到爆的Lambda函数

    太方便了,Python与excel结合制作数据透视表(文末送书)

    分享、收藏、点赞、在看安排一下?

    796bba76a66296ca2494e1945a543c4d.gif

    04fd627bec9b0112c8c4f94777ea9160.gif

    6a5a2028bd72ddebbb992c6665dabca3.gif

    b9076f94f6ac8f8f2ed1742a60f9f440.gif

  • 相关阅读:
    2024三掌柜赠书活动第十六期:AI时代Python金融大数据分析实战
    数据结构作业:传输数据的增删改
    前三季度净利润超三年总和,比亚迪新能源汽车业务全面爆发
    sqlalchemy模块介绍、单表操作、一对多表操作、多对多表操作、flask集成.
    C++基础知识:挂分小技巧
    2022-2023年度的AMC数学竞赛报名时间来了
    OneFlow v0.9.0正式发布
    小玩意 - 一篇带你玩转 SpringBoot 钉钉机器人
    华为云云服务器云耀L实例评测 | 从零到一:华为云云耀云服务器L实例上手体验
    【视觉SLAM十四讲学习笔记】第二讲——初识SLAM
  • 原文地址:https://blog.csdn.net/weixin_43373042/article/details/127644535
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号