首页 > 其他分享 >Docker快速入门 02 构建镜像

Docker快速入门 02 构建镜像

时间:2024-08-21 15:53:55浏览次数:12  
标签:02 5000 python app 镜像 Docker my

本文以Python Web(Flask)小项目构建 Docker 镜像

1.准备项目

确保 Python Web 项目已准备好

项目目录结构

my-python-app/
│
├── app.py
├── requirements.txt
└── Dockerfile
  • app.py: Flask 应用的主文件。
from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Docker!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
  • requirements.txt: 项目依赖的 Python 库。
Flask==2.3.2

2.创建 Dockerfile

定义如何构建项目的 Docker 镜像

  • Dockerfile 是一个包含指令的文本文件,用于定义如何构建一个 Docker 镜像。
# 使用官方 Python 镜像作为基础镜像
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 复制依赖文件并安装依赖
COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# 复制应用代码
COPY . .

# 暴露 Flask 运行的端口
EXPOSE 5000

# 启动 Flask 应用
CMD ["python", "app.py"]

3.构建 Docker 镜像

使用 Dockerfile 构建镜像

在项目根目录下打开终端,运行以下命令构建 Docker 镜像

docker build -t my-python-app:v1 .
  • -t my-python-app:v1: 给镜像命名为 my-python-app,标签为 v1
  • .: 表示 Dockerfile 所在的当前目录。

4.运行容器

使用构建好的镜像运行容器:

docker run -d -p 5000:5000 --name test-my-python-app my-python-app:v1
  • -d: 后台运行容器。
  • -p 5000:5000: 将容器的 5000 端口映射到宿主机的 5000 端口。
  • --name test-my-python-app: 指定容器名称为 test-my-python-app
  • my-python-app:v1: 使用 my-python-app:v1 镜像。

5.访问应用

打开浏览器,访问 http://localhost:5000,你应该会看到 "Hello, Docker!" 的页面。

标签:02,5000,python,app,镜像,Docker,my
From: https://blog.csdn.net/teacherchen90/article/details/141337659

相关文章

  • 2025届毕设选题指导推荐【选题合集】百套免费答辩PPT
    文章目录1.选题看的眼花缭乱,到底哪个更适合我?2.指导老师的重要性3.可参考的编程语言及框架4.参考选题4.1.小程序系列4.2.web端系统4.3.网络安全5.点击获取更多项目及答辩ppt6.项目示例截图:各位25届计算机专业的小伙伴们,还在为毕设选题而迷茫吗?在为选定后......
  • solution-2022 CCPC Guilin J. Permutation Puzzle
    题解:2022CCPC桂林站J题题解模拟赛T3放了这道题人均场切了。我没删调试爆零了。首先按所有限制连边\(u_i\tov_i\)。题目保证了这是一张有向无环图。我们肯定是只能按照某种拓扑序来填。有一个非常显然的策略是在拓扑排序中按照每个点的后继节点的最小值为第一关键字,更......
  • 2000-2023年逐年最大NDVI数据集(500m)
        植被指数(NDVI,NormalizedDifferenceVegetationIndex)可以准确反映地表植被覆盖状况。目前,NDVI时序数据已经在各尺度区域的植被动态变化监测、土地利用/覆被变化检测、宏观植被覆盖分类和净初级生产力估算等研究中得到了广泛的应用。   中国年度500M植被指......
  • COAWST V3.8初学记录002(第二部分001:手册算例运行篇--单独运行ROMS和单独运行SWAN)
    COAWSTV3.8初学记录我是一个完完全全的海洋数值模式初学者,此前没有接触过任何海洋数值模式,在学习COAWST模式的过程中非常难受(起码从安装到算例的运行,是完完全全一个人独立学习完成,此前有求助过一些师兄和老师,但是他们也是爱莫能助,主要是距离太远,我这边的情况他们也不甚了......
  • 支持1024帧、准确率近100%,英伟达「LongVILA」开始发力长视频
    点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com现在,长上下文视觉语言模型(VLM)有了新的全栈解决方案——LongVILA,它集系统、模型训练与数据集开发于一体。现阶段,将模型的多模态理解与长上下文能力相结合是非常重要的,支持更多模态的基础模型可以接受更......
  • Origin2024如何制作双Y轴图?
    日常科研中,我们经常会用到x-y轴图,但有时候一个x对应两个y值甚至多个y值,那应该怎么做呢?下面给大家分享绘制双Y轴图的操作方法;操作步骤:1、先打开Origin2024软件,然后在Book1中输入如下示例数据: 2、选中所有数据:3、点击菜单栏中【绘图】→【多面板/多轴】→【双Y轴点线柱状......
  • Docker的安装与镜像配置
           小编目前大一,刚开始着手学习SSM,小编会把每个框架都整理成知识点发布出来。如果你也同时在学习SSM的话,不妨看看我做的这个笔记。我认为同为初学者,我把我对知识点的理解以这种代码加观点的方式分享出来不仅加深了我的理解,或许在某个时候对你也有所帮助,同时也欢迎......
  • 【CSP:202312-1】仓库规划(Java)
    题目链接202312-1仓库规划题目描述求解思路暴力求解:由于数据量较小,对每个仓库进行遍历求解即可。需要注意只有一个仓库的特殊情况。(n=1......
  • 【CSP:202312-2】因子化简(Java)
    题目链接202312-2因子化简题目描述求解思路哈希表:利用哈希表记录下每个因数出现的次数。从222开始遍历,找出......
  • 亲测好用,吐血整理 ChatGPT 3.5/4.0 新手使用手册~ 【2024.08 更新】
    废话不多说,直接分享正文~以下是小编为大家搜集到的最新的ChatGPT国内站,各有优缺点。1、AIPlus(稳定使用)推荐指数:⭐⭐⭐⭐⭐     yixiaai.com该网站已经稳定运营了1年多了。2023年3月份第一批上线的网站。网站支持GPT-3.5、4.0及4o、4omini模型,手机和电脑都能用......