溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python應(yīng)用怎么利用Docker容器進(jìn)行部署

發(fā)布時(shí)間:2020-11-27 15:09:56 來源:億速云 閱讀:179 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹Python應(yīng)用怎么利用Docker容器進(jìn)行部署,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

簡單應(yīng)用部署

一、目錄結(jié)構(gòu):

└── Pythonpro #目錄
  └── test.py #文件
  └── requirements.txt #文件
  └── Dockerfile #文件

二、編寫Dockerfile文件

# 基于鏡像基礎(chǔ)
FROM python:3.6.4
# 創(chuàng)建代碼文件夾工作目錄 /code
RUN mkdir /code
# 復(fù)制當(dāng)前代碼文件到容器中 /code
COPY . /code
# 安裝所需的包
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
# 指定cmd的工作目錄 /code
WORKDIR /code
#容器啟動(dòng)時(shí)執(zhí)行的命令
CMD ["python","test.py"]

三、創(chuàng)建容器鏡像

docker bulid -t test .

四、運(yùn)行容器

docker run -it --name test --restart always --privileged=true python-test
--name:指定容器的名字為python-test,test是剛剛構(gòu)建的鏡像。

--restart:always 容器退出時(shí)總是重啟。

--privileged=true:執(zhí)行容器內(nèi)文件需要的權(quán)限。

Django應(yīng)用容器化

一、目錄結(jié)構(gòu),我這里假設(shè)這個(gè)目錄存在于/home/Pythonpro。

└── Pythonpro #目錄
└── manage.py #文件
└── 主項(xiàng)目 #目錄
└── apps #目錄
└── requirements.txt #文件
└── Dockerfile #文件
└── run.sh #文件

run.sh腳本

python /code/manage.py runserver 0.0.0.0:8000

二、編寫Dockerfile文件

FROM python:3.6.4
RUN mkdir /code \
&&apt-get update \
&&apt-get -y install freetds-dev \
&&apt-get -y install unixodbc-dev
COPY . /code 
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple
WORKDIR /code
CMD ["/bin/bash","run.sh"]

三、構(gòu)建鏡像

docker bulid -t webtest .

四、運(yùn)行容器

docker run -it -p 6500:8000 -v /home/Pythonpro:/code --name web --restart always --privileged=true webtest

-p:把容器的8000端口映射到宿主機(jī)6500

-v:主機(jī)的目錄/home/Pythonprot映射到容器的目錄/code

--name:指定容器的名字為web,webtest剛剛構(gòu)建的鏡像

--restart:always 容器退出時(shí)總是重啟

--privileged=true:執(zhí)行容器內(nèi)文件需要的權(quán)限

關(guān)于Python應(yīng)用怎么利用Docker容器進(jìn)行部署就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI