這是我的測試檔案,很簡單,訪問了宿主機的資料庫
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 = db.cursor(
)8 sql =
'select * from user;'
9 num = cursor.execute(sql)
10 data = cursor.fetchall(
)11 db.close()12
print
(data)
然後我們通過dockerfile 來構建映象
比較簡單,很容易理解
1 from python:
32 add test1.py /
3 run pip3 install pymysql
4 cmd [
"python"
,"./test1.py"
]
構建映象
docker build -t testmysql .
這裡面執行到pip安裝時可能會失敗,可以嘗試重啟docker服務
service docker restart
啟動容器(-d為後台啟動,不加;–net設定容器網路模式,預設為bridge,也可以不加)
docker run --net=bridge --name=t1 testmysql
執行檢視結果,成功
[root@izbp19edb1zuvkz0v64yfnz ~]
# docker run --net=bridge --name=t1 testmysql
((1, '1234', '0', '[email protected]', datetime.date(2020, 2, 5), 'zhangrl'
), (2, '1234', '0', '[email protected]', datetime.date(2020, 2, 6), 'zhanglu'
), (3, '1234', '0', '[email protected]', datetime.date(2020, 2, 5), 'zhangrla'
), (4, '1234', '0', '[email protected]', datetime.date(2020, 2, 5), 'zhangrlo'
))
如果想對外提供服務,如python程式監聽容器埠8080,那麼建立容器時需要將容器埠對映到主機埠,(通過-p 主機埠:容器埠),再通過主機埠訪問服務。 docker執行python檔案
專案完成後需要打包成映象然後發布,因為映象裡包含了配置檔案及所需要的包。製作映象的三種辦法 目錄 一 如果專案較小,且所需依賴不是很多,直接將專案檔案上傳至容器內,並安裝所有程式執行需要的包。最後儲存映象。二 在基礎映象上安裝所有程式執行需要的包,最後儲存映象。專案 不需要放進映象 1 載入儲存好的...
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...