Docker是一種輕量級容器化技術,具有分布式、高可用、易部署等優勢,在各行各業都有廣泛應用。為此,學習和掌握Docker已經成為現代IT行業的必備技能。在本次Docker實戰案例課程中,我們將通過實用的案例,讓您全面掌握Docker的應用和原理。
首先,我們將通過構建一個簡單的Web應用程序來演示Docker的基本用法。該Web應用程序使用Python編寫,所以我們需要在Docker容器內部運行Python解釋器。我們將使用一個Docker鏡像,該鏡像包含了Python解釋器以及其他必需軟件。對于本次案例,我們將使用一個稱為“official Python image”的官方Python鏡像。
FROM python:3.7-slim-buster
WORKDIR /app
COPY . .
RUN pip install --trusted-host pypi.python.org -r requirements.txt
EXPOSE 80
ENV NAME World
CMD ["python", "app.py"]
上面是我們使用的Dockerfile文件。該文件就像是描述如何構建Docker鏡像的編排文件。首先,我們指定了基于的Docker鏡像,該鏡像包含Python 3.7以及必要的庫和程序。然后,我們設置了工作目錄,復制了當前目錄下的所有文件到Docker鏡像中,安裝需要的Python庫,設置了應用程序的監聽端口為80,并運行了應用程序。
有了Dockerfile文件后,我們就可以通過Docker CLI構建Docker鏡像。運行以下命令:
docker build -t python-hello-world .
其中,“-t”參數用于給Docker鏡像設置名稱,后面跟隨實際的鏡像名稱,“.”表示使用當前文件夾下的Dockerfile文件進行構建。
我們通過上述命令成功構建了Docker鏡像后,就可以運行該鏡像以創建容器。運行以下命令:
docker run -p 4000:80 python-hello-world
其中,“-p”參數指定了容器內部的端口映射到主機上的端口。例如,我們將容器內部的監聽端口80映射到主機上的端口4000。此外,“run”命令用于啟動新的容器,并提供了聲明容器使用的鏡像的名稱。
現在,我們可以在瀏覽器中訪問http://localhost:4000,來看到我們構建的Web應用程序的輸出了。
通過這個簡單的案例,我們可以發現Docker構建和運行容器實際上非常容易。無論是構建基礎鏡像,還是運行鏡像并創建容器,Docker都具有非常直觀的操作方式和易于理解的概念。因此,Docker已經成為現代軟件開發和運維理念的代表,廣泛應用于云計算、虛擬化、DevOps等方面。