使用【docker】簡單部署打包構建好的鏡像并運行python項目

使用【docker】簡單部署運行python項目

方案一:使用打包好的鏡像直接運行

一.項目配置

  1. 項目壓縮包:project.tar.gz

  2. 項目目錄存放在服務器路徑:/var/opt/app

    (1)解壓項目文件到該目錄下:/var/opt/app
    命令:

tar -xzvf project.tar.gz

二.Docker運行配置

1.Docker鏡像名稱:docker_image.tar.gz
2. 將docker鏡像上傳至服務器/var/opt/docker_images,解壓鏡像為:docker_image.tar
命令:

tar xzvf docker_image.tar.gz

3.載入docker鏡像:
命令:

docker load < docker_image.tar

4.運行docker:
命令:

docker run -dit --name container.v1 -v /var/opt/app/project:/var/app -p 9000:9000 docker_image:v1 /bin/bash

三.啟動項目

  1. 進入docker_image容器:
    命令:
docker exec -it container.v1 bash
  1. 進入目錄/var/app:
    命令:cd /var/app
    3.啟動項目:
    命令:
nohup python app.py --api &

方案二:使用Dockerfile構建Docker鏡像

1. 打開Dockerfile文件,在文件中添加以下內容:

FROM python:3.7  # 使用Python 3.7作為基礎鏡像WORKDIR /app  # 設置工作目錄為/appCOPY requirements.txt .  # 將requirements.txt文件復制到鏡像中RUN pip install -r requirements.txt  # 安裝項目所需的依賴包COPY . .  # 將整個項目復制到鏡像中CMD [ "python", "./app.py" ]  # 配置Docker容器啟動時要執行的命令

2. 在終端中進入到項目的根目錄,并執行以下命令來構建Docker鏡像:

docker build -t my-python-app .

這里-t參數用于指定鏡像的名稱和標簽,.表示使用當前目錄的Dockerfile來構建鏡像。

3. 構建完成后,可以使用以下命令來運行鏡像:

docker run -p 5000:5000 my-python-app

這里-p參數用于指定主機端口和容器端口的映射關系,這里將主機的5000端口映射到容器的5000端口。

以上就是通過docker簡單部署運行python項目,希望對你有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36579.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36579.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36579.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux-引導過程與服務控制

目錄 一、Linux操作系統引導過程 1、引導過程總覽 2、引導過程詳解 2.1、開機自檢&#xff08;BIOS&#xff09; 2.2、 MBR引導 2.3、GRUB菜單 2.4、加載內核(kernel) 2.5、init進程初始化 3、系統初始化進程 3.1、Systemd單元類型 3.2、運行級別所對應的 Systemd 目…

SherlockChain:基于高級AI實現的智能合約安全分析框架

關于SherlockChain SherlockChain是一款功能強大的智能合約安全分析框架&#xff0c;該工具整合了Slither工具&#xff08;一款針對智能合約的安全工具&#xff09;的功能&#xff0c;并引入了高級人工智能模型&#xff0c;旨在輔助廣大研究人員針對Solidity、Vyper和Plutus智…

前端 Array.sort() 源碼學習

源碼地址 V8源碼Array 710行開始為sort()相關 Array.sort()方法是那種排序呢&#xff1f; 去看源碼主要是源于這個問題 // In-place QuickSort algorithm. // For short (length < 22) arrays, insertion sort is used for efficiency.源碼中的第一句話就回答了我的問題…

Potato(土豆)一款輕量級的開源文本標注工具(二)

示例項目&#xff08;模版&#xff09; Potato 旨在提高數據標注的可復制性&#xff0c;并降低研究人員設置新標注任務的成本。因此&#xff0c;Potato 提供了一系列預定義的示例項目&#xff0c;并歡迎公眾向項目中心貢獻。如果您使用 Potato 進行了自己的標注工作&#xff0…

海思平臺使用ITTP_Stream調試sensor

目錄 相關資料1.ISP相關資料2.MIPI RX相關資料3.sensor資料4.MIPI標準 準備工作1.準備sensor驅動2.準備sample vio3.準備上位機和下位機程序 運行1.只運行HiPQTool1.1.板端運行1.2.PC端運行HiPQTool 2.使用ITTP_Stream2.1.板端運行2.2.打開上位機軟件 相關資料 1.ISP相關資料 …

uniapp開發手機APP、H5網頁、微信小程序、長列表插件

ml-list 插件地址&#xff1a;https://ext.dcloud.net.cn/plugin?id18928 ml-list介紹 1、ml-list 列表組件&#xff0c;包含基本列表樣式、可擴展插槽機制、長列表性能優化、多端兼容。 2、ml-list 低代碼列表&#xff0c;幫助使用者快速構建列表&#xff0c;簡單配置&…

秋招突擊——6/26~6/27——復習{二維背包問題——寵物小精靈之收服}——新作{串聯所有單詞的字串}

文章目錄 引言復習二維背包問題——寵物小精靈之收服個人實現重大問題 滾動數組優化實現 新作串聯所有單詞的字串個人實現參考實現 總結 引言 今天應該是舟車勞頓的一天&#xff0c;頭一次在機場刷題&#xff0c;不學習新的東西了&#xff0c;就復習一些之前學習的算法了。 復…

百度Apollo的PublicRoadPlanner一些移植Ros2-foxy的思路(持續更新)

如今的PublicRoadPlanner就是之前耳熟能詳的EM planner 計劃 —— ROS2與CARLA聯合仿真 結構化場景: 規劃算法:EM-planner 控制算法:MPC和PID 非結構化場景: 規劃算法采用Hybrid A* (1)小車模型搭建(計劃參考Github上Hybrid上的黑車,比較炫酷) (2)車輛里程計: 位…

深入比較:Batch文件與Shell腳本的異同

在操作系統中&#xff0c;自動化腳本是一種常見的工具&#xff0c;用于執行一系列自動化命令或程序。Windows和類Unix系統都提供了各自的腳本解決方案&#xff1a;Batch文件&#xff08;在Windows中&#xff09;和Shell腳本&#xff08;在類Unix系統中&#xff09;。本文將詳細…

有哪些方法可以恢復ios15不小心刪除的照片?

ios15怎么恢復刪除的照片&#xff1f;在手機相冊里意外刪除了重要的照片&#xff1f;別擔心&#xff01;本文將為你介紹如何在iOS 15系統中恢復已刪除的照片。無需專業知識&#xff0c;只需要按照以下步驟操作&#xff0c;你就能輕松找回寶貴的回憶。 一、從iCloud云端恢復刪除…

SRC公益上分的小技巧一

前言 之前發布的文章&#xff0c;例如SRC中的一些信息收集姿勢- Track 知識社區 - 掌控安全在線教育 - Powered by 掌控者 里面就有提到若依系統&#xff0c;默認賬號密碼非常簡單 是 admin / admin123 但是&#xff0c;往往我們去挖掘的時候很容易出現 這說明了若依系統的門…

Viewer.js 圖片預覽插件使用

參考&#xff1a;Viewer.js 圖片預覽插件使用 demo鏈接&#xff1a;viewerjs_demo

【Linux:文件描述符】

文件描述符&#xff1a; 文件描述符的分配原則&#xff1a;最小未分配原則 每一個進程中有一個task_struct結構體&#xff08;PCB)&#xff0c;而task_struct中含有struct file_sturct*file的指針&#xff0c;該指針指向了一個struct files_struct的結構體該結構體中含有一個f…

PHP框架詳解- symfony框架

Symfony框架是一個開源的PHP框架&#xff0c;由SensioLabs公司開發并維護&#xff0c;最早發布于2005年。它旨在為Web應用程序的開發提供一個高效且結構化的環境。Symfony框架的設計理念是減少Web應用程序的創建和維護時間&#xff0c;并避免重復性任務。 Symfony框架采用MVC&…

PG最大連接數

在 PostgreSQL 數據庫中&#xff0c;您可以使用 SQL 查詢來獲取最大連接數、當前連接數以及每個數據庫的連接數。以下是一些常用的查詢&#xff1a; 查看最大連接數&#xff1a; PostgreSQL 的最大連接數由配置參數 max_connections 決定。您可以在 postgresql.conf 文件中設置…

使用IMAP服務獲取163郵箱的未讀郵件

使用IMAP服務獲取163郵箱的未讀郵件 整體的邏輯思路如下&#xff1a; 開啟163郵箱的IMAP服務&#xff0c;拿到授權碼用于登錄IMAP服務登錄IMAP服務&#xff0c;獲取郵箱的未讀郵件列表遍歷未讀郵件列表&#xff0c;獲取郵件內容 # 導入必要的庫 import os import imaplib im…

三大工作流引擎技術Activiti、Flowable、Camunda選型指南

文章目錄 前言1 流程引擎發展歷程2 流程引擎主要概念BPM (Business Process Management)BPMN (Business Process Model and Notation)CMMN (Case Management Model and Notation)DMN (Decision Model and Notation)事件&#xff08;Event&#xff09;順序流&#xff08;Sequenc…

從靜電到浪涌,全面防護:雷卯多電壓等級電源保護設計方案匯總

在當今數字化、電氣化日益加速的時代&#xff0c;電子設備和電力系統面臨著前所未有的挑戰&#xff0c;其中靜電放電(ESD)、浪涌以及雷擊等瞬態事件成為了威脅設備穩定性和壽命的關鍵因素。從精密的消費電子產品到工業級控制系統&#xff0c;從智能家居到新能源汽車&#xff0c…

區塊鏈技術的核心要素:共識機制、加密技術與分布式賬本

區塊鏈聽起來像個非常高大上的技術&#xff0c;其實它的核心原理并不難理解。今天我們要聊的就是區塊鏈的三個核心要素&#xff1a;共識機制、加密技術和分布式賬本。想象一下區塊鏈是一個巨大的數字筆記本&#xff0c;我們要弄清楚大家如何共同寫這個筆記本&#xff0c;又如何…

用一個實例看如何分享大量照片 續篇二,關于Exif (Exchangeable Image File) - 可交換圖像文件

續篇二&#xff1a;說說關于照片隱含的 Exif (Exchangeable Image File) 可交換圖像文件 數碼照片的Exif 參數有很多&#xff0c;重要的Exif信息&#xff1a;拍攝日期、時間、拍攝器材、GPS信息。 當然這主要對自己的檔案有意義&#xff0c;如果放到網上還是建議抹去這些信息。…