在 Docker 容器内安装 Linux 软件包


在 Linux 机器上安装 Docker 后,下一步是创建镜像并运行容器。您需要创建一个操作系统发行版的基准镜像,然后通过安装软件包和依赖项并提交更改来添加和修改基准镜像。

在本文中,我们将向您展示如何创建一个 Ubuntu 基准镜像,并在其之上通过添加软件包并不断提交更改来创建中间镜像层。我们将更新 Ubuntu 基准镜像,安装三个软件包:vim 编辑器、Firefox 和 Python 3。

请注意,我们可以通过两种方式实现此目的:要么在 Dockerfile 中提及所有命令并一次性构建镜像,要么可以逐步进行,并通过 CLI 不断提交更改。我们将在这里讨论这两种方法。

方法 1. 使用 CLI 分步进行。

  • 打开终端并运行以下命令。请注意,如果您不是 root 用户,则需要在所有命令前添加 sudo。

sudo docker run ubuntu bash -c “apt -y update”

这将检查 Ubuntu 镜像是否存在于本地。如果不存在,它将显示“Unable to find image 'ubuntu:latest' locally”消息并开始从 Docker Hub 下载。下载镜像后,它将运行 apt update 命令。

  • 我们现在将在容器内安装 vim 编辑器。为此,我们将运行 Ubuntu 镜像的 bash。

sudo docker run -it ubuntu bash

这将打开一个交互式 Ubuntu bash。在 bash 中,逐一输入以下命令来安装软件包。

apt-get -y update
apt-get -y install vim
apt-get -y install firefox
apt-get install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt install python3.7
exit

第一个命令运行更新。然后,它安装 vim 编辑器、Firefox 和 Python 3 的一些依赖项。然后它添加官方 Python 3 仓库并安装 Python 3.7,然后退出 bash。

您可以使用以下命令检查 Python 的版本。

python3.7 --version
  • 退出 bash 后,您需要提交更改。使用以下命令查找容器 ID。

sudo docker ps -l

复制容器 ID 并粘贴到以下命令中。

sudo docker commit <CONTAINER_ID> <NEW IMAGE NAME>
  • 您可以使用以下命令检查是否已创建具有指定名称和已安装软件包的新 Ubuntu 镜像。

sudo docker images

方法 2. 通过创建 Dockerfile

  • 创建一个名为 Dockerfile 的文件,并将以下命令放在其中。

#Create ubuntu as base image
FROM ubuntu

#Install packages
RUN apt-get -y update
RUN apt-get -y install vim
RUN apt-get -y install firefox
RUN apt-get -y install software-properties-common
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get -y install python3.7
  • 使用以下命令构建镜像。

sudo docker build -t username/imagename . (don’t forget the dot)

此命令使用 Dockerfile 构建 Docker 镜像。

使用以下命令运行 Docker 镜像。

sudo docker run -t username/imagename:tagname

总而言之,创建镜像和安装软件包的更好方法是使用包含适当命令的 Dockerfile,因为它将帮助您跟踪所做的更改和安装的软件包,并使整个项目更加清晰。

更新于:2020年10月1日

4K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告