2. Docker基础回顾:Docker安装与验证、核心概念(镜像、容器、仓库)、常用Docker命令速查
在搭建缓存一致性测试环境之前,必须夯实Docker基础。本章将快速回顾Docker的安装验证流程、三大核心概念(镜像、容器、仓库)以及高频命令,确保后续实验环境搭建顺畅无阻。
2.1 Docker安装与验证
Docker支持主流操作系统,以下以Ubuntu 22.04 LTS和CentOS 7/8为例说明安装步骤。macOS和Windows用户建议直接安装Docker Desktop。
2.1.1 安装步骤(Linux)
- 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
- 设置仓库
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
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引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- 启动并验证
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world
验证要点:执行
docker run hello-world 后,若终端输出 "Hello from Docker!" 并显示Docker运行正常的信息,则安装成功。同时建议执行 docker version 确认客户端与服务端版本一致。
2.1.2 安装后非root用户运行
为避免每次使用 sudo,可将当前用户加入 docker 组:
sudo usermod -aG docker $USER
newgrp docker
安全提示:加入docker组的用户拥有与root等同的容器管理权限,请仅在信任环境中操作。
2.2 核心概念:镜像、容器、仓库
Docker的三大核心概念构成了整个生态的基石。理解它们之间的关系是掌握Docker的关键。
| 概念 | 定义 | 类比 | 关键特征 |
|---|---|---|---|
| 镜像(Image) | 一个只读的、包含应用程序及其依赖环境的模板 | 类(Class) / ISO镜像 | 分层结构、不可变、可复用 |
| 容器(Container) | 镜像的运行实例,包含可写层 | 对象(Instance) / 虚拟机 | 轻量、隔离、可启停、可删除 |
| 仓库(Repository) | 集中存储和分发镜像的地方 | Git仓库 / App Store | 公开/私有、标签管理、版本控制 |
核心关系:从仓库拉取镜像,通过镜像创建并运行容器。容器可以被提交为新的镜像,镜像也可以被推送到仓库共享。
2.3 常用Docker命令速查
以下按操作对象分类整理高频命令,建议读者在终端逐条练习以形成肌肉记忆。
2.3.1 镜像管理命令
| 命令 | 功能说明 | 示例 |
|---|---|---|
docker images |
列出本地所有镜像 | docker images |
docker pull |
从仓库拉取镜像 | docker pull redis:7.2 |
docker rmi |
删除本地镜像 | docker rmi redis:7.2 |
docker build |
根据Dockerfile构建镜像 | docker build -t myapp:v1 . |
docker tag |
给镜像打标签 | docker tag myapp:v1 myapp:latest |
docker push |
推送镜像到仓库 | docker push myapp:v1 |
2.3.2 容器生命周期命令
| 命令 | 功能说明 | 示例 |
|---|---|---|
docker run |
创建并启动容器 | docker run -d --name redis-cache redis:7.2 |
docker ps |
列出运行中的容器 | docker ps -a(含已停止) |
docker stop |
停止容器 | docker stop redis-cache |
docker start |
启动已停止的容器 | docker start redis-cache |
docker restart |
重启容器 | docker restart redis-cache |
docker rm |
删除容器 | docker rm -f redis-cache(强制) |
docker logs |
查看容器日志 | docker logs -f redis-cache |
docker exec |
进入容器内部执行命令 | docker exec -it redis-cache bash |
2.3.3 仓库与网络相关命令
| 命令 | 功能说明 | 示例 |
|---|---|---|
docker login |
登录镜像仓库 | docker login |
docker search |
搜索仓库中的镜像 | docker search redis |
docker network ls |
列出Docker网络 | docker network ls |
docker network create |
创建自定义网络 | docker network create cache-net |
docker network connect |
将容器连接到网络 | docker network connect cache-net redis-cache |
速记口诀:镜像用
pull/push/rmi,容器用 run/stop/rm/exec,网络用 create/connect,日志用 logs -f。
2.4 本章小结
- 安装验证:通过
docker run hello-world确认Docker引擎正常工作。 - 三大概念:镜像(只读模板)、容器(运行实例)、仓库(存储分发),三者形成闭环。
- 命令体系:按对象分类记忆——镜像管理、容器生命周期、仓库操作、网络管理。
- 后续铺垫:在缓存一致性测试中,我们将大量使用
docker run、docker network、docker exec等命令来搭建多节点缓存集群。
实践建议:打开终端,依次执行以下命令巩固基础:
docker pull alpine → docker run -it alpine sh → docker ps -a → docker rm $(docker ps -aq)