這是一個關于 dockerizing python 應用程序的簡單教程。
什么是Docker?Docker 是一個容器化框架,允許您在任何環境中部署和運行應用程序以及操作系統代碼??梢园阉胂蟪砂涯愕膽贸绦蚍旁谝粋€可以在任何地方運輸和運行的容器中。
為什么是Docker?
Docker 現在在軟件工程行業無處不在。它確保部署過程中的一致性,并且可以讓開發人員專注于應用程序開發,而不是被部署所困,從而節省開發人員的時間。
Docker and Python
Python 是現在最流行的編程語言,它在不同行業的采用正在增長。
它易于使用,并以其直觀的語法和語言特性消除了進入編程行業的障礙。
由此可見,將這兩種技術結合使用對開發人員是有好處的。使用python和docker的步驟包括:
編寫 python 應用程序或腳本
添加 docker 文件
構建 docker 鏡像
運行 docker 容器
第 1 步:一個簡單的 Python 應用程序
讓我們構建一個簡單的 Python 應用程序,它從用戶那里獲取兩個數字并將它們相加。
首先為本教程創建一個目錄并進入該目錄。
# creates docker-tutorial directory in your user folder
mkdir ~/docker-tutorial
cd docker-tutorial
接下來,將一個簡單的文件添加到名為application.py.
我們的應用程序將是一個簡單的命令行應用程序,它將從用戶那里獲取兩個數字并將它們相加。如果用戶不提供任何輸入,應用程序將假定這兩個數字都是0。
內容application.py如下圖:
import sys
# yes, just adding two numbers
def add_two_numbers(a=0, b=0):
result = a + b
print(f"a is {a}")
print(f"b is ")
print(f"solution is {result}")
if __name__ == "__main__":
if len(sys.argv) > 2:
add_two_numbers(int(sys.argv[1]), int(sys.argv[2]))
else:
add_two_numbers()
第 2 步:添加 Dockerfile
接下來,讓我們添加 dockerfile 來對這個應用程序進行 docker 化。這仍然是在docker-tutorial同一目錄中完成的。
我們將該文件命名為Dockerfile。請注意,此文件沒有擴展名。
該文件告訴 docker 守護進程如何定義容器以及如何構建和運行應用程序。
Dockerfile內容如下。
FROM python:3.10.6-alpine
WORKDIR /usr/src/app
COPY . .
RUN apk update
RUN chmod a+x ./*.py
ENTRYPOINT ["python", "-u", "./application.py" ]
我檢查每一行并對其進行更多解釋,以便您了解這里發生的事情。
FROM — 這定義了要構建的基礎層圖像。Docker 為圖像構建層。這允許重新使用圖像層,從而節省計算和空間。alpine是 python 基礎映像的標簽,它是 linux 的輕量級發行版。
WORKDIR — 用作容器主要工作空間的目錄。所有命令都從此目錄作為參考點運行。
COPY——此命令將文件從本地文件系統復制到容器文件系統。在上面的示例中,我們復制了本地目錄中的所有文件。
RUN——在構建 docker 容器時運行命令。這里我們更新alpine linux鏡像中的包,更改python應用文件的權限application.py
ENTRYPOINT——這是在 docker 容器啟動時運行的命令,恰當地稱為 ENTRYPOINT。
第 3 步:構建 Docker 鏡像
現在讓我們構建 docker 鏡像。這只需通過
# run in the docker-tutorial directory
docker build -t myapp .
此命令在當前目錄中創建一個 docker 鏡像,并將其標記為myapp.
您應該能夠使用此命令查看所有圖像:
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# myapp latest d7c9e6b8dc70 3 seconds ago 48.7MB
第 4 步:運行 Docker 容器
您現在可以運行您的 docker 容器
docker run myapp
# a is 0
# b is 0
# solution is 0
您也可以將參數傳遞給您的應用程序,類似于下面的命令
docker run myapp 1 2
# a is 1
# b is 2
# solution is 3
這就是 dockerize python 文件所需的全部!玩得開心,保持創意!
以上就是“使用Docker將Python項目容器化教程”的詳細內容,想要了解更多Python教程歡迎持續關注編程學習網。
掃碼二維碼 獲取免費視頻學習資料
- 本文固定鏈接: http://www.stbrigidsathleticclub.com/post/11392/
- 轉載請注明:轉載必須在正文中標注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費視頻資料
查 看2022高級編程視頻教程免費獲取