本文目錄一覽:
構建PythonFlask應用程序的Docker映像
我試圖為PythonFlask應用程序構建一個Docker映像,但是有構建問題-所有文件都位於一個名為 web -這是項目結構:
和 app.py 目前的情況如下:
我已經把 Dockerfile 從… :
我試着用 docker build –no-cache –rm -t flask-app ,但它以錯誤消息結尾:
我認為對您的Dockerfile進行非常小的更改可以解決以下問題:
我剛把完整的路徑添加到 requirements.txt ,這可以通過幾種不同的方式來完成,比如複製整個目錄文件夾,然後構建它。
原文
如何開發一個基於 Docker 的 Python 應用
python是一款應用非常廣泛的腳本程序語言,谷歌公司的網頁就是用python編寫。python在生物信息、統計、網頁製作、計算等多個領域都體現出了強大的功能。python和其他腳本語言如java、R、Perl 一樣,都可以直接在命令行里運行腳本程序。工具/原料
python;CMD命令行;windows操作系統
方法/步驟
1、首先下載安裝python,建議安裝2.7版本以上,3.0版本以下,由於3.0版本以上不向下兼容,體驗較差。
2、打開文本編輯器,推薦editplus,notepad等,將文件保存成 .py格式,editplus和notepad支持識別python語法。
腳本第一行一定要寫上 #!usr/bin/python
表示該腳本文件是可執行python腳本
如果python目錄不在usr/bin目錄下,則替換成當前python執行程序的目錄。
3、編寫完腳本之後注意調試、可以直接用editplus調試。調試方法可自行百度。腳本寫完之後,打開CMD命令行,前提是python 已經被加入到環境變量中,如果沒有加入到環境變量,請百度
4、在CMD命令行中,輸入 “python” + “空格”,即 ”python “;將已經寫好的腳本文件拖拽到當前光標位置,然後敲回車運行即可。
如何運用docker配合python開發環境實例
傳統的做法大多數人可能會選擇virtualenv來隔離,但是它有很多明顯的缺點:
無法提供完全的隔離
如果不想在正式環境中使用,它就會造成差異
而隨着容器技術的日漸成熟和普及,Docker無疑成為解決這個問題的最優解
本文將主要介紹docker和flask的配合開發
步驟:
1.安裝Docker(這裡不詳細介紹)
# 參考命令sudo wget -qO- | sh
2.應用目錄結構
├──fanxiangce
_docker
├── Dockerfile
├── Readme.md
└─fanxiangce
└──app
├── manage.py
└── requirements
├── common.txt
3.編寫Dockerfile
##########################################################
# 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 imagessudo 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
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130145.html