如何在系统上安装 Docker

DockerDockerBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Docker 是一个强大的容器化平台,它彻底改变了开发者构建、部署和管理应用程序的方式。在本教程中,你将学习如何在你的系统上安装 Docker 并开始运行你的第一个 Docker 容器。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/version("Show Docker Version") subgraph Lab Skills docker/run -.-> lab-411559{{"如何在系统上安装 Docker"}} docker/ls -.-> lab-411559{{"如何在系统上安装 Docker"}} docker/ps -.-> lab-411559{{"如何在系统上安装 Docker"}} docker/start -.-> lab-411559{{"如何在系统上安装 Docker"}} docker/stop -.-> lab-411559{{"如何在系统上安装 Docker"}} docker/info -.-> lab-411559{{"如何在系统上安装 Docker"}} docker/version -.-> lab-411559{{"如何在系统上安装 Docker"}} end

了解 Docker

Docker 是一个广受欢迎的开源平台,它使开发者能够在容器化环境中构建、部署和运行应用程序。容器是轻量级、独立且可执行的软件包,其中包含运行应用程序所需的一切,包括代码、运行时环境、系统工具和库。

什么是 Docker?

Docker 是一种工具,旨在通过使用容器来更轻松地创建、部署和运行应用程序。容器使开发者能够将应用程序与其所需的所有部件(如库和其他依赖项)打包在一起,并将其作为一个包全部交付。

使用 Docker 的好处

  1. 一致性:无论底层基础设施如何,Docker 容器都能确保应用程序以相同的方式运行。
  2. 可扩展性:Docker 使根据需要轻松扩展应用程序的规模变得容易,提高了资源利用率并降低了成本。
  3. 可移植性:Docker 容器可以在任何安装了 Docker 的系统上运行,便于在不同环境之间移动应用程序。
  4. 效率:Docker 容器轻量级,比虚拟机使用的资源更少,从而提高了整体系统性能。

Docker 架构

Docker 使用客户端 - 服务器架构,其中 Docker 客户端与 Docker 守护进程通信,Docker 守护进程负责构建、运行和分发 Docker 容器。

graph LD client[Docker 客户端] daemon[Docker 守护进程] registry[Docker 镜像仓库] client -- API --> daemon daemon -- 拉取/推送 --> registry

Docker 组件

  1. Docker 镜像:Docker 镜像是创建 Docker 容器的蓝图。它们包括应用程序代码、依赖项和任何其他必要的文件。
  2. Docker 容器:Docker 容器是 Docker 镜像的运行实例。它们轻量级、可移植且自成一体。
  3. Docker 镜像仓库:Docker 镜像仓库是用于存储和分发 Docker 镜像的系统。最受欢迎的镜像仓库是 Docker Hub,它托管了大量的公共镜像。

开始使用 Docker

要开始使用 Docker,你需要在系统上安装 Docker 引擎。安装过程因操作系统而异。在下一节中,我们将介绍如何在 Linux 系统上安装 Docker。

在你的系统上安装 Docker

在本节中,我们将指导你在 Ubuntu 22.04 系统上安装 Docker 的过程。

先决条件

在开始之前,请确保你的系统满足以下要求:

  • Ubuntu 22.04 操作系统
  • 具有安装和管理 Docker 的 root 或 sudo 权限

步骤 1:更新软件包索引

首先更新系统上的软件包索引:

sudo apt-get update

步骤 2:安装 Docker

安装必要的软件包,以便 apt 可以通过 HTTPS 使用存储库:

sudo apt update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

添加官方 Docker GPG 密钥:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

设置 Docker 存储库:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 引擎、containerd 和 Docker Compose 软件包:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

步骤 3:验证安装

通过运行以下命令验证 Docker 是否正确安装:

sudo docker run hello-world

此命令将下载一个测试镜像并在容器中运行它,验证你的 Docker 安装是否按预期工作。

恭喜!你已在 Ubuntu 22.04 系统上成功安装 Docker。在下一节中,我们将探讨如何运行你的第一个 Docker 容器。

运行你的第一个 Docker 容器

既然你已经在系统上安装了 Docker,那么让我们来探索如何运行你的第一个 Docker 容器。

运行容器

要运行一个 Docker 容器,你需要使用 docker run 命令。该命令会从 Docker 镜像仓库中拉取指定的镜像(如果它尚未存在于你的系统中),并基于该镜像启动一个新容器。

让我们从运行一个简单的“你好,世界”容器开始:

docker run hello-world

此命令将从 Docker Hub 镜像仓库下载 hello-world 镜像,并基于该镜像运行一个容器。容器将显示“来自 Docker 的问候!”消息,然后退出。

与容器进行交互

你可以使用各种 Docker 命令与正在运行的容器进行交互:

  • docker ps:列出所有正在运行的容器
  • docker stop <容器ID>:停止正在运行的容器
  • docker start <容器ID>:启动已停止的容器
  • docker exec -it <容器ID> /bin/bash:在正在运行的容器内打开一个 shell

例如,要在正在运行的容器内打开一个 shell,你可以使用以下命令:

docker exec -it < 容器ID > /bin/bash

这将在容器内为你提供一个 shell 提示符,使你能够探索并与容器的文件系统和正在运行的进程进行交互。

构建和运行自定义镜像

除了运行预构建的镜像之外,你还可以创建自己的自定义 Docker 镜像。为此,你需要创建一个 Dockerfile,这是一个文本文件,其中包含构建镜像的指令。

以下是一个简单的 Dockerfile 示例:

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Dockerfile 将基于 Ubuntu 22.04 基础镜像创建一个新镜像,安装 Nginx 网络服务器,暴露端口 80,并在容器运行时启动 Nginx 服务。

要构建镜像,你可以使用 docker build 命令:

docker build -t my-nginx-app.

这将创建一个带有标签 my-nginx-app 的新镜像。

要基于此镜像运行容器,你可以使用 docker run 命令:

docker run -d -p 80:80 my-nginx-app

这将启动一个新容器,将主机上的端口 80 映射到容器内的端口 80,并运行 Nginx 网络服务器。

恭喜!你现在已经学会了如何运行你的第一个 Docker 容器并与之进行交互。在接下来的步骤中,你可以探索更高级的 Docker 概念,例如创建自己的自定义镜像、管理容器网络以及部署多容器应用程序。

总结

通过遵循本逐步指南,你将对 Docker 及其安装过程有扎实的理解。你将能够在你的系统上设置 Docker,运行你的第一个容器,并探索容器化的好处。本教程对于开发者、系统管理员以及任何对利用 Docker 的强大功能感兴趣的人来说都是一个宝贵的资源。