docker執行python檔案

2021-10-24 20:54:51 字數 3313 閱讀 5531

專案完成後需要打包成映象然後發布,因為映象裡包含了配置檔案及所需要的包。製作映象的三種辦法:

目錄

一、如果專案較小,且所需依賴不是很多,直接將專案檔案上傳至容器內,並安裝所有程式執行需要的包。最後儲存映象。

二、在基礎映象上安裝所有程式執行需要的包,最後儲存映象。(專案**不需要放進映象)

1、載入儲存好的本地映象 或 拉取映象:

2、從宿主機進入要執行的指令碼(test.py)所在目錄:

3、在宿主機執行python檔案(執行容器)

3.1 如果啟動的是服務程式,需要指定埠對映,埠對映通過-p和-p引數來實現。

4、結果

5、這種方式會產生容器變化

三、編寫dockerfile等

1、怎樣將本地檔案上傳到docker容器?

執行映象,開啟新的命令列,檢視container id,docker ps -a

查詢容器長id

docker inspect -f '}' tomcat-container-id
拷貝本地檔案到容器docker cp 本地路徑 容器長id:容器路徑

注意:

1、docker run -it 乙個啟動容器,然後另起乙個視窗連線伺服器檢視容器id、查詢長id,進行複製。複製後在第乙個視窗目錄下  或者  利用sudo docker attach [container id] 進入該容器,檢視是否複製成功。(這樣做目的是為了保持容器status為up)

2、每次docker run -it 其實都是新建了乙個容器(相應的容器id都不一樣)

進入專案**目錄下,以掛載的方式執行python**

docker load -i comments_classification.tar

docker pull python:3.5 # [repository:tag]

#test.py檔案

#!/usr/bin/python

import os

print(os.getcwd()) #獲取當前目錄

print('-------------start--------------------')

print('this is a test file')

print('----------------end---------------')

docker run -v /home/bx_admin/jenkins_work/test:/usr/src/python -w /usr/src/python python:3.5 python test.py
命令說明:3.1.1 -p指定要對映的埠,乙個指定埠上只可以繫結乙個容器;支援的格式如下:ip:hostport:containerport:指定ip、指定宿主機port、指定容器port

ip::containerport:指定ip、未指定宿主機port(隨機)、指定容器port

注:會將容器的ip127.0.0.1和4000埠,隨機對映到宿主機的乙個埠上。

hostport:containerport:未指定ip、指定宿主機port、指定容器port

注:上邊的操作缺省會繫結本地所有介面上的所有位址。

檢視對映埠配置:

本節參考:

執行test.py檔案後,可以看到當前目錄是/usr/src/python,可以看出我們的指令碼輸出的是docker容器中的目錄,而不是我們宿主機的目錄 。

再看直接使用伺服器python直接該檔案的列印,當前目錄是home/bx_admin/jenkins_work

先看執行前的容器 docker ps -a ,當前一共只有兩個容器

docker執行python檔案後(相當於新建了乙個容器)

注意:即使檔案執行失敗了,但是新容器還是新生成了

刪除容器:docker rm -v a7505a43e238

參考:centos 7上使用docker執行python指令碼檔案 

python專案打包成docker映象並發布 

python專案打包成docker映象並發布執行 

docker製作python執行環境基礎映象的方法步驟 

python 專案製作docker映象

用Docker執行python程式示例

這是我的測試檔案,很簡單,訪問了宿主機的資料庫 1 import pymysql 23 host 127.0.0.1 4 host 172.17.0.1 docker0 的位址,為了訪問宿主機服務 56 db pymysql.connect host,root root cpat 7 cursor ...

Docker打包並執行python專案

整體分為三步,首先配置dockerfile檔案,其次編譯dockerfile檔案,生成docker映象,最後執行。1.配置dockerfile 檔案 kafkapro為專案根目錄,將其打包成docker映象。專案結構截圖如下。相關dockerfile配置 如下。注意 如下 是將kafkapro資料夾...

docker 使用docker執行Nginx映象

在docker映象倉庫查詢nginx映象 建立nginx web資料夾,存放nginx的資訊 mkdir p opt nginx web 拷貝配置檔案到nginx web資料夾下 docker run name tmp nginx container d nginx 1.17 docker cp t...