如何在 Ubuntu 上安装和配置 Docker如何在 Ubuntu 上安装和配置 Docker如何在 Ubuntu 上安装和配置 Docker如何在 Ubuntu 上安装和配置 Docker
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 上安装和配置 Docker

Docker是一个虚拟化平台,可以自动化应用程序部署过程。 Docker 中的容器和镜像就是用于此目的。 Docker 容器为应用程序的部署提供了一个轻量级、可移植的环境。这些容器基于 Docker 映像,有助于将应用程序及其所有运行时依赖项打包在 Linux 容器内。

您可以使用 Docker 来自动化组织中的应用程序部署;它将提高员工的生产力并创建更敏捷的开发环境以更好地管理资源。这就是为什么我们在这里演示如何在 Ubuntu 系统上安装和配置 Docker。那么,让我们开始吧!

如何在 Ubuntu 上安装 Docker

首先,您必须更新系统存储库:

$ sudo apt-get update

现在,我们将安装在系统上安装 Docker 所需的一些必要包:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

输入“y/Y”以允许安装过程继续:

使用下面给出的命令添加 Docker 存储库的 GPG 密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

如果执行命令显示“OK”,则表示GPG密钥已成功添加到我们的系统中:

接下来,我们将 Docker 存储库添加到 Ubuntu 系统中:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

再次更新 Ubuntu 系统的存储库:

$ sudo apt-get update

现在,执行“apt-cache”命令以确保我们将从 Docker 存储库安装应用程序:

$ apt-cache policy docker-ce

在终端中使用以下命令在系统上安装 Docker:

$ sudo apt install docker-ce

输入“y/Y”以允许 Docker 安装过程继续:

成功安装 Docker 后,检查其在系统上的状态:

$ sudo systemctl status docker

如何在 Ubuntu 上将用户添加到 Docker 组

与 Docker 相关的命令要求您是“root”用户或“docker”组成员。如果您不是 root 用户,可以使用“usermod”命令将当前用户添加到“docker”组:

$ sudo usermod -aG docker ${USER}

这里,“-aG”选项会将当前用户“$ {User}”附加到“docker”组:

现在,注销并重新登录系统以应用新的“docker”成员身份:

$ su - ${USER}

如果要添加未登录系统的用户,请通过添加其用户名来执行以下给出的命令:

$ sudo usermod -aG docker username

如何在Ubuntu上使用docker命令

要查看有关 docker 的信息,例如其语法、选项、命令,请在终端中输入“docker”:

$ docker

另外,执行下面给出的命令来了解与 Docker 相关的系统范围信息:

$ docker info

如何在 Ubuntu 上使用 Docker 镜像

Docker 镜像用于创建 Docker 容器。您可以将这些镜像“push”到您的 Docker 存储库,而 Docker 默认情况下会从 Docker Hub“pull”这些镜像。 Docker Hub 允许任何人托管他们的镜像;因此,大多数 Linux 发行版和相关镜像都托管在 Docker Hub 中。

首先,我们将检查是否有权从 Docker Hub 下载镜像。为此,请执行下面给出的示例命令:

$ sudo docker run hello-world

输出声明 Docker 能够在本地查找我们指定的“hello-world”镜像。然后,Docker 应用程序利用 Docker Hub 来下载它。然后 Docker 从“hello-world”镜像创建一个新容器。最后,容器中的应用程序在我们的 Ubuntu 终端上显示了输出:

如何在 Ubuntu 上搜索 Docker 镜像

Ubuntu 终端中使用“docker search”命令来搜索 Docker Hub 上可用的任何 Docker 镜像。例如,我们将在 Docker Hub 上搜索“ubuntu”映像,但如果您想搜索另一个 Docker 映像,请在我们添加“ubuntu”的位置指定其名称”:

$ docker search ubuntu

上述命令的输出将列出名称与我们的搜索字符串“ubuntu”成功匹配的所有 Docker 镜像:

如何在 Ubuntu 上拉取 Docker 镜像

“docker pull”命令用于将 Docker 映像下载到您的 Ubuntu 系统。例如,我们搜索了“ubuntu”镜像,发现它在 Docker Hub 上可用。现在,要下载“ubuntu”映像,我们将按以下方式执行“docker pull”命令:

$ docker pull ubuntu

输出表明“ubuntu”映像已成功下载到我们的系统:

要验证系统上是否存在下载的映像,请执行以下命令:

$ docker images

如何在 Ubuntu 上运行 Docker 容器

现在,我们将演示如何使用“ubuntu”映像运行 Docker 容器。为此,请在终端中使用以下给出的命令:

$ docker run -it ubuntu

这里“-it”选项的组合将允许您使用 shell 访问与容器交互:

输出还显示我们的容器 ID,即“bdee2effad”。您应该记下您的容器 ID,因为稍后您将需要它来管理系统上的此容器。

如何在 Ubuntu 上更新 Docker 容器内的软件包

如果您希望当前 Docker 容器中存在该软件包,请按以下方式执行“apt update”命令:

root@3bdee2efafad:/# apt update

如何在 Ubuntu 上的 Docker 容器中安装应用程序

Docker 容器还允许您在其中安装任何指定的应用程序。例如,在我们的 Docker 容器中,我们将安装“Node.js”:

root@3bdee2efafad:/# apt install nodejs

输入“y/Y”以允许 Node.ls 安装过程继续:

无错误的输出表明 Node.js 已成功安装在我们的 Docker 容器中。要验证其存在,请执行以下命令:

root@3bdee2efafad:/# node -v

此命令将显示 Docker 容器内安装的 Node.js 应用程序的版本:

如何在 Ubuntu 上列出 Docker 容器

在您的 Ubuntu 终端中,使用“docker ps”命令列出系统上的活动 Docker 容器:

$ sudo docker ps

如果要提取所有 Docker 容器(包括活动容器和非活动容器),可以在同一命令中添加“-a”选项:

$ sudo docker ps -a

目前,我们没有任何不活动的 Docker 容器;这就是为什么输出仅显示与活动容器相关的信息:

要检查最新创建的 Docker 容器,请在“docker ps”命令中添加“-l”选项:

$ sudo docker ps -l

如何在 Ubuntu 上启动 Docker 容器

“docker start”命令用于在系统上启动 Docker 容器。在此命令中,我们添加特定 Docker 容器的容器 ID。例如,我们将通过在下面给出的命令中添加容器 ID“3bdee2efafad”来启动“ubuntu”Docker 容器:

$ sudo docker start 3bdee2efafad

如何在 Ubuntu 上停止 Docker 容器

在我们的系统中,Docker分配的容器“ubuntu”的名称是“brave_brown”。我们将在“docker stop”命令中指定此名称来停止正在运行的“ubuntu”容器:

$ sudo docker stop brave_brown

如何在 Ubuntu 上提交对新 Docker 映像的更改

您在 Docker 容器中所做的更改仅限于其本身,例如启动和停止 Docker 容器、在其中添加文件等。但是,一旦完全删除 Docker 容器,所有应用的更改都将丢失。 Docker 为您提供了将这些更改提交到 Docker 映像的新实例的功能。当您想将容器用于其他目的时,它会很方便。您可以借助“docker commit”命令将 Docker 容器的更改提交到新的 Docker 映像。

现在,查看下面给出的“docker commit”命令的语法:

$ docker commit -m “description of changes” -a “Author_Name” [Container_ID] [Repository]/[Docker_Image_Name]

这里 :

  • 添加“-m”选项来提交消息。

  • “-a”用于指定作者的姓名。

  • “Author_Name”将是您的用户名。

  • [Container_ID] 是您要提交更改的特定 Docker 容器的 ID。

  • 如果您在 Docker Hub 上创建了任何存储库,请在[Repository]中添加其名称;否则,您将在其位置写入您的 Docker 用户名。

  • 最后,在[Docker_Image_Name]中指定新Docker镜像的名称。

例如,对于容器 ID 为“3bdee2efafad”的用户“linux”,“docker command”将是:

$ sudo docker commit -m "added Node.js" -a "linux" 3bdee2efafad linux/ubuntu-nodejs

在上面提到的提交中,我们已经指定在这个 Docker 容器中添加了 NodeJS:

再次列出 Docker 映像,以确保是否创建新的 Docker 映像“ubuntu-nodejs”:

$ sudo docker images

如何在 Ubuntu 上将 Docker 镜像推送到 Docker Hub

此时,我们对新 Docker 映像所做的更改已保存在本地系统上。您可能希望与任何朋友、团队成员或 Docker Hub 上的全世界共享新的 Docker 映像以进行开发。为此,您应该在 Docker Hub 上拥有一个帐户,以便可以将新创建的映像推送到 Docker Hub 上的存储库。

如果您已经拥有 Docker Hub 帐户,请跳过此步骤。在其他情况下,您可以使用以下链接创建新的 Docker 帐户。

输入您的Docker 用户名、电子邮件 ID 和密码以创建新帐户:

单击“创建存储库”选项,在 Docker Hub 上创建 Docker 存储库:

指定存储库的名称及其可见性类型。如果您想让 Docker 存储库出现在搜索结果中,则将其设置为“公共”,否则将其保留为“私有”:

在这里,您可以看到与新创建的存储库相关的信息:

如果本地系统的用户名和 Docker 注册表名称不同,则必须使用 Docker 注册表用户名标记新创建的 Docker 映像。

首先,使用终端登录您的 Docker hub 帐户:

$ sudo docker login docker.io

现在,我们将使用“docker tag”命令为“linux”用户创建的“ubuntu-nodejs”镜像添加“ sharqa” Docker 注册表名称:

$ sudo docker tag linux/ubuntu-nodejs sharqa/ubuntu-nodejs

登录 Docker 帐户后,我们将新创建的 Docker 镜像推送到 Docker Hub 上的 Docker 存储库中。

现在,检查“docker push”命令的语法:

$ sudo docker push [Docker_registry_username]/[Docker_image_name]

在上面提到的命令中,指定您的 Docker 注册表名称,在我们的示例中为“sharqa”,然后添加“/”,后跟 Docker 映像名称:

$ sudo docker push sharqa/ubuntu-node.js

输出显示我们已成功推送到 Docker 注册表中。通过探索您的 Docker Hub 帐户来验证它:

这里可以看到推送的“ubuntu-nodejs”镜像的相关信息:

如何在 Ubuntu 上删除 Docker 容器

您无法使用“docker rm”命令从系统中删除正在运行的 Docker 容器。您需要做的第一件事是使用“docker stop”停止 Docker 容器,然后使用“docker rm”命令将其从系统中删除。

现在,我们将从系统中停止“ubuntu”容器:

$ sudo docker stop brave_brown

这里“brave_brown”是Docker分配的“ubuntu”容器的名称。写出下面给出的“rm”命令来删除它:

$ sudo docker rm brave_brown

要确认删除“ubuntu”容器,请通过执行“docker ps”命令再次列出 Docker 容器:

可以看到“ubuntu”容器不在列表中,这意味着我们已经成功删除了这个容器。

结论

©2015-2025 艾丽卡 support@alaica.com