简介
Docker 是一个强大的容器化平台,它彻底改变了开发者构建、部署和管理应用程序的方式。在本教程中,你将学习如何在你的系统上安装 Docker 并开始运行你的第一个 Docker 容器。
了解 Docker
Docker 是一个广受欢迎的开源平台,它使开发者能够在容器化环境中构建、部署和运行应用程序。容器是轻量级、独立且可执行的软件包,其中包含运行应用程序所需的一切,包括代码、运行时环境、系统工具和库。
什么是 Docker?
Docker 是一种工具,旨在通过使用容器来更轻松地创建、部署和运行应用程序。容器使开发者能够将应用程序与其所需的所有部件(如库和其他依赖项)打包在一起,并将其作为一个包全部交付。
使用 Docker 的好处
- 一致性:无论底层基础设施如何,Docker 容器都能确保应用程序以相同的方式运行。
- 可扩展性:Docker 使根据需要轻松扩展应用程序的规模变得容易,提高了资源利用率并降低了成本。
- 可移植性:Docker 容器可以在任何安装了 Docker 的系统上运行,便于在不同环境之间移动应用程序。
- 效率:Docker 容器轻量级,比虚拟机使用的资源更少,从而提高了整体系统性能。
Docker 架构
Docker 使用客户端 - 服务器架构,其中 Docker 客户端与 Docker 守护进程通信,Docker 守护进程负责构建、运行和分发 Docker 容器。
graph LD
client[Docker 客户端]
daemon[Docker 守护进程]
registry[Docker 镜像仓库]
client -- API --> daemon
daemon -- 拉取/推送 --> registry
Docker 组件
- Docker 镜像:Docker 镜像是创建 Docker 容器的蓝图。它们包括应用程序代码、依赖项和任何其他必要的文件。
- Docker 容器:Docker 容器是 Docker 镜像的运行实例。它们轻量级、可移植且自成一体。
- 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 的强大功能感兴趣的人来说都是一个宝贵的资源。



