這篇文章主要介紹了怎么運(yùn)用docker配合python開發(fā)環(huán)境,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、電商網(wǎng)站制作開發(fā)、小程序定制開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
由于開發(fā)一個(gè)Python程序時(shí)需要依賴大量的三方庫(kù)包,且python2和3本身就有互不兼容的地方,我們往往需要一個(gè)隔離的環(huán)境,來(lái)避免版本影響造成的bug。
傳統(tǒng)的做法大多數(shù)人可能會(huì)選擇virtualenv來(lái)隔離,但是它有很多明顯的缺點(diǎn):
無(wú)法提供完全的隔離
如果不想在正式環(huán)境中使用,它就會(huì)造成差異
而隨著容器技術(shù)的日漸成熟和普及,Docker無(wú)疑成為解決這個(gè)問(wèn)題的最優(yōu)解
本文將主要介紹docker和flask的配合開發(fā)
步驟:
1.安裝Docker
# 參考命令 sudo wget -qO- https://get.docker.com/ | sh
2.應(yīng)用目錄結(jié)構(gòu)
├──fanxiangce _docker ├── Dockerfile ├── Readme.md └─fanxiangce └──app ├── manage.py └── requirements ├── common.txt
3.編寫Dockerfile(詳細(xì)命令解釋可以參考https://docs.docker.com/engine/reference/builder/#environment-replacement)
########################################################## # Dockerfile to run a flask-based web application# Based on an centos:7 image ########################################################## # Set the base image to use to centos FROM centos:7 # Set the file maintainer MAINTAINER jasonwang,wjs7740@163.com # Set env varibles used in this Dockerfile (add a unique prefix, such as DOCKYARD) # Local directory with project source ENV DOCKYARD_SRC=fanxiangce # Directory in Container for all project files ENV DOCKYARD_SRCHOME=/opt # Directory in container for project source files ENV DOCKYARD_SRCPROJ=/opt/fanxiangce # Update the defualt application repository source list RUN yum -y install epel-release RUN yum -y install python-pip RUN yum clean all # Copy application source code to SRCDIR COPY $DOCKYARD_SRC $DOCKYARD_SRCPROJ # Create application subdirectories WORKDIR $DOCKYARD_SRCPROJ RUN mkdir log VOLUME ['$DOCKYARD_SRCPROJ/log/'] # Install Python dependencies RUN pip install --upgrade pip RUN pip install -r $DOCKYARD_SRCPROJ/requirements/common.txt # Port to expose EXPOSE 8000 # Copy entrypoint script into the image WORKDIR $DOCKYARD_SRCPROJ
4. build鏡像
# 在Dockerfile同級(jí)目錄下 sudo docker build -t jason/webdemo .
成功后顯示Successfully,同時(shí)返回鏡像ID,如圖:
5.查看并啟動(dòng)鏡像
注意,此處-p映射的端口(主機(jī)端口:容器端口),容器端口應(yīng)與flask應(yīng)用定義的端口一致
sudo docker images sudo docker run -it --name webdemo -p 8000:8000 jason/webdemo /bin/bash
6.在容器中啟動(dòng)flask應(yīng)用
python manage.py runserver -p 8000
啟動(dòng)成功如下截圖:
7.在瀏覽器輸入127.0.0.1:8000即可訪問(wèn)應(yīng)用
8.后續(xù)
如果容器關(guān)閉后需要再次進(jìn)入,可以用如下命令
# 查看當(dāng)前容器 sudo docker ps -a # 啟動(dòng)容器 docker start webdemo # 進(jìn)入容器 docker attach webdemo
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么運(yùn)用docker配合python開發(fā)環(huán)境”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
網(wǎng)站標(biāo)題:怎么運(yùn)用docker配合python開發(fā)環(huán)境
URL網(wǎng)址:http://sd-ha.com/article2/pepeic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站維護(hù)、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站改版、自適應(yīng)網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)