• <button id="eiyoe"><acronym id="eiyoe"></acronym></button>
    <em id="eiyoe"></em>

  • <rp id="eiyoe"><acronym id="eiyoe"><input id="eiyoe"></input></acronym></rp>
      查看: 150|回復: 0
      上一主題 下一主題

      docker打包Python環境的過程詳解

      79910

      主題

      0

      好友

      積分

      離線 發信

      跳轉到指定樓層
      樓主
      發表于 2021-09-15 07:22 | 只看該作者 | 倒序瀏覽

      docker打包Python環境過程,步驟如下所示:

      1 導出pip list下面的依賴包

      pip freeze > requirements.txt

      把導出的requirements.txt放在docker_test目錄里

      docker_test為將要打包的代碼源文件夾。此demo的docker_test文件夾下面應該有requirements.txt和app.py文件

      2 編寫Dockfile文件

      在docker_test同目錄下創建Dockfile文件,格式如下:

      # 基于的基礎鏡像
      
      FROM python:3.9.6
      
      # 維護者信息
      
      MAINTAINER name chy@163.com
      
      # 將docker_test目錄下的代碼添加到鏡像中的code文件夾(兩個目錄參數中間有空格分開)
      
      ADD ./docker_test /code
      
      # 設置code文件夾是工作目錄
      
      WORKDIR /code
      
      # 安裝支持
      
      RUN pip install -r requirements.txt
      
      #docker運行時即運行app.py文件
      
      CMD ["python","/code/app.py"]

      3 制作鏡像

      docker build -t imagename Dockerfilepath 
      
      # Dockerfilepath:Dockerfile 所在文件夾名稱,當前名錄為 “.” 
      
      docker build -t d_t .

      4 運行鏡像

      docker run -t -i d_t

      5 運行結果

      ps:下面再接著看下docker打包Python程序

      步驟:準備環境-復制Python程序-啟動程序

      為了簡單,我們的Python程序就是一個Python文件app.py

      app.py

      from flask import Flask
      app = Flask(__name__)
      @app.route('/')
      def hello():
          return "hello docker"
      if __name__ == '__main__':
          app.run(host="0.0.0.0", port=5000)

      Dockerfile

      FROM python:2.7
      LABEL maintainer="Peng Xiao<xiaoquwl@gmail.com>"
      RUN pip install flask
      COPY app.py /app/
      WORKDIR /app
      EXPOSE 5000
      CMD ["python", "app.py"]

      build image 和 啟動容器

      docker build -t soymilk/python-test .
      docker run -d soymilk/python-test

      到此這篇關于docker打包Python環境過程的文章就介紹到這了,更多相關docker打包Python環境過程內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

      來源:http://www.jb51.net/article/221034.htm