docker構建python(docker構建容器)

本文目錄一覽:

構建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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論