亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python項(xiàng)目打包成docker鏡像并運(yùn)行的完整指南

 更新時(shí)間:2025年09月10日 10:08:23   作者:onlygyl  
這篇文章主要為大家詳細(xì)介紹了python如何將項(xiàng)目打包成docker鏡像并運(yùn)行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

眾所周知,python是解釋型腳本語(yǔ)言,無需編譯即可運(yùn)行,但是同時(shí)也強(qiáng)依賴于運(yùn)行環(huán)境,而將運(yùn)行環(huán)境和項(xiàng)目程序一同打包到docker鏡像中,可以方便快速的移植部署。(以下方法為手動(dòng)拷貝項(xiàng)目到linux服務(wù)器,如果需要可以使用git對(duì)代碼進(jìn)行管理)

假設(shè)你的項(xiàng)目目錄結(jié)構(gòu)如下:

1.創(chuàng)建requirements.txt

在項(xiàng)目根目錄下創(chuàng)建requirements.txt文件,用于記錄項(xiàng)目運(yùn)行所需的所有第三方庫(kù)及其精確版本。

Logbook==1.7.0.post0
pandas==2.0.3
PyMySQL==1.1.1
Requests==2.32.3
Flask==2.0.3
werkzeug==2.0.3

2.創(chuàng)建Dockerfile

在項(xiàng)目根目錄創(chuàng)建Dockerfile文件。

# Python基礎(chǔ)鏡像
FROM docker.m.daocloud.io/library/python:3.8-slim

# 設(shè)置工作目錄
WORKDIR /

# 復(fù)制requirements.txt文件
COPY /requirements.txt .

# 安裝依賴(官方源速度較慢,使用阿里源)
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

# 復(fù)制應(yīng)用程序代碼
COPY ./ .

# 暴露端口(如果你的應(yīng)用需要)
EXPOSE 5000

# 定義環(huán)境變量(可選)
# ENV FLASK_APP=main.py
# ENV FLASK_ENV=production

# 運(yùn)行命令
CMD ["python", "app.py"]

3.創(chuàng)建.dockerignore文件

防止不必要的文件被復(fù)制到鏡像中,在根目錄下創(chuàng)建.dockerignore文件

__pycache__
*.pyc
*.pyo
*.pyd
.Python
env
venv
.venv
.git
.DS_Store

4.構(gòu)建Docker鏡像

docker build -t zhgc-tools .

5.運(yùn)行容器

docker run -d -p 5000:5000 --name zhgc-tools zhgc-tools

查看容器運(yùn)行情況,說明服務(wù)正常部署

6.方法補(bǔ)充

python 項(xiàng)目打包 docker鏡像

1.Dockerfile

這是創(chuàng)建容器的啟動(dòng)和編譯的腳本(項(xiàng)目?jī)?nèi)的文件路徑最好用全路徑)

	# 將官方 Python 運(yùn)行時(shí)用作父鏡像
	FROM python:3.8-alpine
	# 設(shè)置時(shí)區(qū)
	ENV TZ Asia/Shanghai
	RUN apk --update add tzdata && \
	 cp /usr/share/zoneinfo/${TZ} /etc/localtime && \
	 echo ${TZ} > /etc/timezone && \
	 apk del tzdata
	# 工程文件導(dǎo)入到容器中
	ADD ./CloudSimPy-master /code
	# 依賴文件導(dǎo)入
	COPY requirements.txt ./
	# 安裝 requirements.txt 中指定的任何所需軟件包
	RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
	# 將工作目錄設(shè)置為 /myapps
	WORKDIR /code
	# 定義環(huán)境變量
	ENV PYTHONPATH /code
	# 在容器啟動(dòng)時(shí)運(yùn)行 app.py
	CMD ["python", "/code/playground/Non_DAG/launch_scripts/state-makespan_list-50.py"]

2.requirements.txt

這是python 項(xiàng)目需要的依賴的版本對(duì)應(yīng)

simpy==3.0.11
tensorflow==1.12.0
numpy=1.15.3
pandas==0.23.4
colorlog

構(gòu)建鏡像

# 名稱必須小寫
docker build -t flask_redis_env0 .

導(dǎo)出編譯好的鏡像

經(jīng)過編譯沒有錯(cuò)誤后,可以將鏡像導(dǎo)出本地

# 打一個(gè)tag 方便后續(xù)load 時(shí)候有版本等相關(guān)信息
docker tag 7ed7399ab6fc wordhot:v1
# 打包一個(gè),f299f501774c 是對(duì)應(yīng)的 image id
docker save f299f501774c > hangger_server.tar
# 打包多個(gè)
docker save -o images.tar postgres:9.6 mongo:3.4

導(dǎo)入鏡像

docker load < hangge_server.tar

到此這篇關(guān)于python項(xiàng)目打包成docker鏡像并運(yùn)行的完整指南的文章就介紹到這了,更多相關(guān)python打包成docker鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼

    Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼

    這篇文章主要介紹了Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python input()函數(shù)案例教程

    Python input()函數(shù)案例教程

    在 Python 中,input() 函數(shù)用于獲取用于的輸入,并給出提示。input() 函數(shù),總是返回 string 類型,因此,我們可以使用 input() 函數(shù),獲取用戶輸入的任何數(shù)據(jù)類型 ,這篇文章主要介紹了Python input()函數(shù)案例詳解,需要的朋友可以參考下
    2023-01-01
  • python中的錯(cuò)誤處理

    python中的錯(cuò)誤處理

    異常是指程序中的例外,違例情況。異常機(jī)制是指程序出現(xiàn)錯(cuò)誤后,程序的處理方法。當(dāng)出現(xiàn)錯(cuò)誤后,程序的執(zhí)行流程發(fā)生改變,程序的控制權(quán)轉(zhuǎn)移到異常處理。
    2016-04-04
  • django如何計(jì)算兩個(gè)TimeField的時(shí)差

    django如何計(jì)算兩個(gè)TimeField的時(shí)差

    在Django中,可以使用datetime模塊來計(jì)算兩個(gè)TimeField字段的時(shí)間差,下面通過示例代碼介紹django?計(jì)算兩個(gè)TimeField的時(shí)差,需要的朋友可以參考下
    2023-05-05
  • python 實(shí)現(xiàn)將Numpy數(shù)組保存為圖像

    python 實(shí)現(xiàn)將Numpy數(shù)組保存為圖像

    今天小編就為大家分享一篇python 實(shí)現(xiàn)將Numpy數(shù)組保存為圖像,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python 存儲(chǔ)字符串時(shí)節(jié)省空間的方法

    Python 存儲(chǔ)字符串時(shí)節(jié)省空間的方法

    這篇文章主要介紹了Python 存儲(chǔ)字符串時(shí)節(jié)省空間的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • python?include標(biāo)簽的使用方式及說明

    python?include標(biāo)簽的使用方式及說明

    這篇文章主要介紹了python?include標(biāo)簽的使用方式及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python利用拉鏈法實(shí)現(xiàn)字典方法示例

    python利用拉鏈法實(shí)現(xiàn)字典方法示例

    這篇文章主要介紹了python利用拉鏈法實(shí)現(xiàn)字典的方法,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友可以們下面來一起看看吧。
    2017-03-03
  • Python模仿POST提交HTTP數(shù)據(jù)及使用Cookie值的方法

    Python模仿POST提交HTTP數(shù)據(jù)及使用Cookie值的方法

    這篇文章主要介紹了Python模仿POST提交HTTP數(shù)據(jù)及使用Cookie值的方法,通過兩種不同的實(shí)現(xiàn)方法較為詳細(xì)的講述了HTTP數(shù)據(jù)通信及cookie的具體用法,需要的朋友可以參考下
    2014-11-11
  • 使用PyTorch實(shí)現(xiàn)去噪擴(kuò)散模型的完整代碼

    使用PyTorch實(shí)現(xiàn)去噪擴(kuò)散模型的完整代碼

    在本文中,我們將深入研究DDPM的復(fù)雜性,涵蓋其訓(xùn)練過程,包括正向和逆向過程,并探索如何執(zhí)行采樣,在整個(gè)探索過程中,我們將使用PyTorch從頭開始構(gòu)建DDPM,并完成其完整的訓(xùn)練,需要的朋友可以參考下
    2024-01-01

最新評(píng)論