如何使用 Dockerfile 在 Docker 容器中安裝 Pip?


在本教程中,我們將學習如何使用 Dockerfile 在 Docker 容器中安裝 pip。本教程將涵蓋 Dockerfile 的建立,然後我們將看到用於從 Dockerfile 構建 Docker 映象的 docker 命令,最後我們將看到用於基於該映象執行容器的 docker 命令,並檢視 PIP 是否已正確安裝。

先決條件

建立和構建 Dockerfile 有一些先決條件,如下所述。

  • 應安裝 Docker 的穩定版本。

  • 在任何資料夾中建立一個名為 **Dockerfile** 的檔案。

建立 Dockerfile

Dockerfile 是命令的集合,或者我們可以說它是一個以文字文件形式表示的映象配方。現在,我們將逐步建立一個 Dockerfile,其中包含安裝 PIP 的命令。

步驟 1

在 Dockerfile 的第一行,我們將提及我們的映象將建立的底層作業系統映象,為此,我們在 Dockerfile 中使用 FROM 命令。

1. FROM ubuntu:latest 

使用上述命令,我們已提到我們希望使用 ubuntu 作為基礎映象,並使用最新標籤。

步驟 2

在下一步中,由於我們使用 ubuntu 作為底層作業系統,因此我們需要執行 **apt−get update** 命令以使用 Dockerfile 中的 RUN 命令更新所有 ubuntu 軟體包,該命令將在其前面執行命令。新增此命令後,我們的 Dockerfile 將如下所示。

1. FROM ubuntu:latest

2. RUN apt-get update

步驟 3

在 Dockerfile 的最後一步,我們將使用上面提到的 Dockerfile 中相同的 RUN 命令安裝 pip 軟體包。PIP 軟體包的名稱為 **python3−pip**,根據 Ubuntu 作業系統,我們需要執行的命令為 **apt−get install −y python3−pip**。新增此命令後,完整的 Dockerfile 將如下所示。

1. FROM ubuntu:latest

2. RUN apt-get update

3. RUN apt-get install -y python3-pip

現在我們完成了 Dockerfile 的編寫,並繼續從中構建映象。

從 Dockerfile 構建映象

要構建映象,我們使用 **docker build** 命令,要了解它,您可以執行 **docker build −help**。

語法

docker build [OPTIONS] PATH | URL | -

命令

在我們的例子中,我們將使用 −t 標記為映象新增標籤,並且將在 Dockerfile 所在的同一目錄中執行命令,因此路徑將是我們下面命令中提到的 . 。

docker build -t pip .

透過執行以下命令成功完成上述命令後,您可以看到帶有之前提到的標籤的映象。

% docker image ls
REPOSITORY     TAG       IMAGE ID CREATED         SIZE
pip            latest    e03f400cf705   5 hours ago     467MB

從映象執行容器

由於我們的映象已成功構建,因此我們現在將從上述映象執行容器,為此,我們將執行 **docker container run** 命令。

語法

docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

命令

在選項中,我們將使用 **−it** 標記以互動方式執行容器,並且我們將能夠在容器內部執行命令以代替 IMAGE。我們將使用 **docker image ls** 輸出中顯示的映象 ID。

docker container run -it e03f4

現在我們已進入容器,我們將執行 pip 命令以檢查它是否已正確安裝。為此,我們將執行 **pip −version** 命令。

pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

結論

這是使用 Dockerfile 在 Docker 容器中安裝 pip 的方法。您可以將上述映象推送到 docker hub,您和其他使用者可以將此映象用作其他 Dockerfile 中的基礎映象。要了解有關 Docker 的更多資訊,您可以參考這些 教程

更新時間: 2023年7月10日

7K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告