Docker打包OpenCV Python程序

Docker

????Docker 是一個開源的應(yīng)用容器引擎膛壹,基于 Go 語言 并遵從 Apache2.0 協(xié)議開源涡拘。Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中嚼锄,然后發(fā)布到任何流行的 Linux 機器上减拭,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制区丑,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低拧粪。

打包過程

  1. pip freeze > requirements.txt
  2. 編寫dockerfile,需要注意的是這里安裝了一些c++庫文件供opencv使用,讓筆者在打包時吃了一些苦頭
# 將官方 Python 運行時用作父鏡像
FROM python:3.9-slim
# 將工作目錄設(shè)置為 當前目錄
WORKDIR .
# 將當前目錄內(nèi)容復(fù)制到容器中
ADD . .
RUN apt-get update 
RUN apt install -y g++
RUN apt install -y cmake
RUN apt install -y make
RUN apt install -y wget unzip
RUN apt-get -y install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
# 安裝 requirements.txt 中指定的任何所需軟件包
RUN pip install -r requirements.txt
# 定義環(huán)境變量
#ENV NAME World
# 在容器啟動時運行 main.py
CMD ["python", "main.py"]
#CMD ["python","./apps/min.py","worker","-l","info"]     ##faust程序worker啟動命令
#指令是聲明運行時容器提供服務(wù)端口,這只是一個聲明,在運行時并不會因為這個聲明應(yīng)用就會開啟這個端口的服務(wù)
EXPOSE 5005
  1. docker根據(jù)Dockerfile構(gòu)建鏡像
docker build -f Dockerfile -t qrdetect:1.1 .
  1. 根據(jù)名稱為qrdetect:1.1的鏡像運行名稱為qr的容器沧侥,暴露容器內(nèi)的端口5005為對外8081的端口
docker run --name qr -p 8081:5005 -d qrdetect:1.1 

docker實用命令

由于經(jīng)驗問題可霎,我們可能會要經(jīng)常使用一些鏡像和容器命令

  • 列出容器id
docker ps -a
  • 列出id為xx容器的日志
+ docker logs id
  • 列出鏡像id
docker image ls
  • 刪除指定id鏡像
docker rmi id
  • 刪除指定id容器
docker rm id
  • 停止運行指定id容器
docker stop id
  • 導(dǎo)出指定id鏡像
docker save -o qrdetect.tar 483128b19e21
  • 加載指定id鏡像
docker load --input qrdetect2.tar
  • 導(dǎo)入指定id容器
docker import qrdetect.tar qr:1.1
  • 導(dǎo)出指定id容器
docker export bf2358939836 > qrdetect.tar

經(jīng)驗教訓

????最好不用wsl進行打包,問題比較多正什,還是直接linux環(huán)境打包比較好

參考資料:

https://dennislwm.netlify.app/posts/installing-minikube-on-ubuntu-with-wsl-backend/

https://zhuanlan.zhihu.com/p/272541376

https://answers.microsoft.com/zh-hans/windows/forum/all/win11%E5%A6%82%E4%BD%95%E5%85%B3%E9%97%ADhyper-v/25b2974d-80e5-44e6-9e78-6fbd8e3e519f

https://docs.docker.com/engine/install/ubuntu/

https://zhuanlan.zhihu.com/p/53707590

https://blog.csdn.net/foreverhot1019/article/details/102725793

https://blog.csdn.net/weixin_44796670/article/details/115900538

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末啥纸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子婴氮,更是在濱河造成了極大的恐慌斯棒,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件主经,死亡現(xiàn)場離奇詭異荣暮,居然都是意外死亡,警方通過查閱死者的電腦和手機罩驻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門穗酥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事砾跃】” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵抽高,是天一觀的道長判耕。 經(jīng)常有香客問我,道長翘骂,這世上最難降的妖魔是什么壁熄? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮碳竟,結(jié)果婚禮上草丧,老公的妹妹穿的比我還像新娘。我一直安慰自己莹桅,他們只是感情好昌执,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著统翩,像睡著了一般仙蚜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厂汗,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音呜师,去河邊找鬼娶桦。 笑死,一個胖子當著我的面吹牛汁汗,可吹牛的內(nèi)容都是我干的衷畦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼知牌,長吁一口氣:“原來是場噩夢啊……” “哼祈争!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起角寸,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤菩混,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扁藕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沮峡,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年亿柑,在試婚紗的時候發(fā)現(xiàn)自己被綠了邢疙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疟游,靈堂內(nèi)的尸體忽然破棺而出呼畸,到底是詐尸還是另有隱情,我是刑警寧澤颁虐,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布役耕,位于F島的核電站,受9級特大地震影響聪廉,放射性物質(zhì)發(fā)生泄漏瞬痘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一板熊、第九天 我趴在偏房一處隱蔽的房頂上張望框全。 院中可真熱鬧,春花似錦干签、人聲如沸津辩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喘沿。三九已至,卻和暖如春竭贩,著一層夾襖步出監(jiān)牢的瞬間蚜印,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工留量, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留窄赋,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓楼熄,卻偏偏與公主長得像忆绰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子可岂,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容