您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么運用docker配合python開發環境,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
由于開發一個Python程序時需要依賴大量的三方庫包,且python2和3本身就有互不兼容的地方,我們往往需要一個隔離的環境,來避免版本影響造成的bug。
傳統的做法大多數人可能會選擇virtualenv來隔離,但是它有很多明顯的缺點:
無法提供完全的隔離
如果不想在正式環境中使用,它就會造成差異
而隨著容器技術的日漸成熟和普及,Docker無疑成為解決這個問題的最優解
本文將主要介紹docker和flask的配合開發
步驟:
1.安裝Docker
# 參考命令 sudo wget -qO- https://get.docker.com/ | sh
2.應用目錄結構
├──fanxiangce _docker ├── Dockerfile ├── Readme.md └─fanxiangce └──app ├── manage.py └── requirements ├── common.txt
3.編寫Dockerfile(詳細命令解釋可以參考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同級目錄下 sudo docker build -t jason/webdemo .
成功后顯示Successfully,同時返回鏡像ID,如圖:
5.查看并啟動鏡像
注意,此處-p映射的端口(主機端口:容器端口),容器端口應與flask應用定義的端口一致
sudo docker images sudo docker run -it --name webdemo -p 8000:8000 jason/webdemo /bin/bash
6.在容器中啟動flask應用
python manage.py runserver -p 8000
啟動成功如下截圖:
7.在瀏覽器輸入127.0.0.1:8000即可訪問應用
8.后續
如果容器關閉后需要再次進入,可以用如下命令
# 查看當前容器 sudo docker ps -a # 啟動容器 docker start webdemo # 進入容器 docker attach webdemo
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么運用docker配合python開發環境”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。