小編寫這篇文章的主要目的,主要還是給大家傳授一些關(guān)于Docker的事情,主要是涉及到部署Python Docker的一些事情,比如說會(huì)使用到其進(jìn)行部署相關(guān)的一些應(yīng)用,那么,具體的部署方法是什么呢?下面給大家詳細(xì)解答下。
序言:
在應(yīng)用比較古典的物理機(jī)或云服務(wù)器上部署項(xiàng)目都會(huì)存在一些痛點(diǎn)
舉個(gè)例子吧:有一些使用項(xiàng)目部署效率是比較的低的、并且會(huì)造成資源浪費(fèi)、移動(dòng)運(yùn)輸難度比較的大
而使用Docker部署項(xiàng)目的優(yōu)勢(shì)包含:
高效利用系統(tǒng)資源
服務(wù)啟動(dòng)更快
環(huán)境一致,遷移更加方便
本篇文章將介紹Docker部署一個(gè)Python項(xiàng)目的常規(guī)流程
1.Dockerfile描述文件
Dockerfile是一個(gè)放置在項(xiàng)目根目錄下的描述文件,可以利用Docker命令基于該文件構(gòu)建一個(gè)鏡像
常用的指令包含:
FROM
用于定義基礎(chǔ)鏡像
MAINTAINER
指定維護(hù)者信息,可以省略不寫
RUN
和「安裝命令」連接在一起,可用于安裝工具依賴包
ADD
將宿主機(jī)的文件,并進(jìn)行解壓
COPY
和ADD指令功能一樣,但是不會(huì)進(jìn)行解壓操作
WORKDIR
用于切換工作目錄
VOLUME
配置宿主機(jī)與容器的目錄映射
EXPOSE
配置容器內(nèi)項(xiàng)目對(duì)外暴露的端口號(hào)
CMD
指定容器啟動(dòng)后,運(yùn)行的命令
比如,可以運(yùn)行某個(gè)命令啟動(dòng)項(xiàng)目
2.實(shí)戰(zhàn)一下
使用Docker部署應(yīng)用的常規(guī)流程是:
開發(fā)項(xiàng)目并本地測(cè)試通過
編寫Dockerfile放置到項(xiàng)目根目錄
打包鏡像文件
運(yùn)行鏡像容器
測(cè)試
為了演示方便,這里以一個(gè)簡(jiǎn)單的Flask項(xiàng)目為例進(jìn)行講解
2-1項(xiàng)目開發(fā)
from flask import Flask #安裝依賴 #pip3 install-U flask app=Flask(__name__) app.route('/') def index(): return"測(cè)試容器部署!" if __name__=='__main__': app.run(host='0.0.0.0',port=8888) #瀏覽器訪問測(cè)試 #http://127.0.0.1:8888/ 項(xiàng)目開發(fā)完成,并在本地測(cè)試通過后就可以編寫Dockerfile文件了
2-2編寫Dockerfile
在項(xiàng)目根目錄下,創(chuàng)建一個(gè)Dockerfile文件,使用上面的指令編寫描述腳本
需要注意的是,這里使用「EXPOSE」指令暴露的端口號(hào)與入口文件定義的端口號(hào)保持一致
#Dockerfile FROM centos:7.9.2009 RUN yum makecache fast; RUN yum install python3-devel python3-pip-y RUN pip3 install-i https://pypi.douban.com/simple flask COPY main.py/opt WORKDIR/opt EXPOSE 8888 CMD["python3","main.py"]
2-3構(gòu)建鏡像
#在當(dāng)前文件夾下,根據(jù)Dockerfile文件構(gòu)建一個(gè)鏡像
#鏡像名稱:xag/my_flask_web
#--no-cache:不使用舊的緩存進(jìn)行鏡像構(gòu)建
docker build--no-cache-t"xag/my_flask_web".
2-4運(yùn)行鏡像容器
使用docker run命令基于鏡像運(yùn)行一個(gè)容器
其中
-d:代表容器在后臺(tái)運(yùn)行,不是基于前臺(tái)運(yùn)行
–name:用于執(zhí)行容器的別名
-p:用于配置宿主機(jī)與容器的端口映射
#-d:后臺(tái)運(yùn)行 #宿主機(jī)(9999)映射容器內(nèi)的8888(上面Dockerfile已經(jīng)暴露了8888端口) docker run-d--name flask_web-p 9999:8888 xag/my_flask_web
2-5測(cè)試一下
最后在瀏覽器中,通過宿主機(jī)暴露的端口號(hào)9999訪問項(xiàng)目了
訪問地址:http://127.0.0.1:9999/
3.總結(jié)
文章中以一個(gè)簡(jiǎn)單的Web項(xiàng)目闡述了利用Docker部署項(xiàng)目的常規(guī)流程
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/128818.html
摘要:阿里云安裝腳本安裝腳本兩個(gè)腳本可以任選其一,速度都非常不錯(cuò)。推薦的加速器有和阿里云。阿里云不同平臺(tái)的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說明。上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬蟲框架的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)部署相關(guān)庫(kù) 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---...
摘要:當(dāng)前版本針對(duì)于安裝版概要整體流程貫通,基本可以達(dá)到實(shí)用級(jí)別。仍舊有很多需要提高的地方發(fā)布構(gòu)建時(shí)部署上線服務(wù)器卡頓嚴(yán)重,基本不可以多項(xiàng)目發(fā)布。 該文章旨在描述從零開始搭建環(huán)境,中間遇到的問題以及最終的經(jīng)驗(yàn)總結(jié)。當(dāng)前版本針對(duì)于2.0 docker安裝版 概要 整體流程貫通,基本可以達(dá)到實(shí)用級(jí)別。滿足2-5臺(tái)服務(wù)器,少量的應(yīng)用部署是完全可以的,但達(dá)到一定規(guī)模之后則Walle和Jenkins...
摘要:蠎周刊年度最贊親俺們又來回顧又一個(gè)偉大的年份兒包去年最受歡迎的文章和項(xiàng)目如果你錯(cuò)過了幾期就這一期不會(huì)丟失最好的嗯哼還為你和你的準(zhǔn)備了一批紀(jì)念裇從這兒獲取任何時(shí)候如果想分享好物給大家在這兒提交喜歡我們收集的任何意見建議通過來吧原文 Title: 蠎周刊 2015 年度最贊Date: 2016-01-09 Tags: Weekly,Pycoder,Zh Slug: issue-198-to...
摘要:周刊根據(jù)讀者對(duì)周刊文章的點(diǎn)擊數(shù)據(jù),評(píng)選出了年最受關(guān)注的運(yùn)維工具。 Pycoders周刊根據(jù)讀者對(duì)周刊文章的點(diǎn)擊數(shù)據(jù),評(píng)選出了2013年最受關(guān)注的Python運(yùn)維工具。 showImg(http://segmentfault.com/img/bVbTMb); ? metrology (github.com) 這個(gè)庫(kù)很酷, 支持你對(duì)應(yīng)用進(jìn)行多種測(cè)量,并輕松的輸出給類...
摘要:相關(guān)基于項(xiàng)目和項(xiàng)目,并遵循應(yīng)用的十二因素風(fēng)格。相關(guān)在設(shè)計(jì)上,項(xiàng)目盡量保持驅(qū)動(dòng)和模塊化,以便模塊支持不同的實(shí)現(xiàn)方案。相關(guān)不僅可以管理眾多虛擬機(jī),其計(jì)算服務(wù)還支持對(duì)的驅(qū)動(dòng),管理引擎的子項(xiàng)目還可用于通過模板管理容器?,F(xiàn)已整合公司所支持的項(xiàng)目。 整理自《Docker技術(shù)入門與實(shí)踐》 PaaS(Platform as a Service) PaaS 是希望提供一個(gè)統(tǒng)一的可供所有軟件直接運(yùn)行而無(wú)需...
閱讀 1066·2023-01-14 11:38
閱讀 1062·2023-01-14 11:04
閱讀 901·2023-01-14 10:48
閱讀 2377·2023-01-14 10:34
閱讀 1147·2023-01-14 10:24
閱讀 1026·2023-01-14 10:18
閱讀 654·2023-01-14 10:09
閱讀 733·2023-01-14 10:02