如何使用 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+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告