本文适用于 Linux(以 Ubuntu/CentOS 为主)、macOS 和 Windows 用户,涵盖 Docker 的安装步骤与最常用的命令,助你快速上手容器化开发!


一、什么是 Docker?

Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包到轻量、可移植的容器中,实现“一次构建,随处运行”。与传统虚拟机相比,Docker 容器启动更快、资源占用更少。


二、Docker 安装

2.1 Ubuntu / Debian 安装

# 1. 更新包索引
sudo apt update

# 2. 安装必要依赖
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

# 3. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 添加 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 6. 验证安装
sudo docker --version

免 sudo 使用 Docker(可选)
将当前用户加入 docker 用户组:

sudo usermod -aG docker $USER
# 重新登录终端生效

2.2 CentOS / RHEL 安装

# 1. 安装必要工具
sudo yum install -y yum-utils

# 2. 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 3. 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 4. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 5. 验证
docker --version

2.3 macOS 安装

  1. 访问 Docker Desktop for Mac

  2. 下载 .dmg 文件并安装

  3. 启动 Docker Desktop(首次启动需登录或注册账号)

  4. 终端中执行 docker --version 验证

💡 注意:macOS 上 Docker 实际运行在轻量级 Linux 虚拟机中(由 HyperKit 驱动)


2.4 Windows 安装

  • Windows 10/11 Pro/Enterprise:推荐使用 Docker Desktop(需启用 WSL2 或 Hyper-V)

  • 家庭版:需先安装 WSL2,再安装 Docker Desktop

安装步骤:

  1. 下载 Docker Desktop for Windows

  2. 安装并重启

  3. 启动后在 PowerShell 中执行 docker --version


三、Docker 常用命令速查

🐳 镜像(Image)管理

命令

说明

docker images

列出本地所有镜像

docker pull <image>

从仓库拉取镜像(如 docker pull nginx

docker build -t <name>:<tag> .

从当前目录的 Dockerfile 构建镜像

docker rmi <image_id>

删除指定镜像

docker image prune

删除所有未被使用的镜像(悬空镜像)

🚢 容器(Container)操作

命令

说明

docker ps

列出正在运行的容器

docker ps -a

列出所有容器(包括已停止的)

docker run -d -p 8080:80 --name my-nginx nginx

后台运行容器,端口映射,指定名称

docker start <container>

启动已停止的容器

docker stop <container>

停止运行中的容器

docker restart <container>

重启容器

docker rm <container>

删除已停止的容器

docker container prune

删除所有已停止的容器

🔍 查看日志与进入容器

# 查看容器日志
docker logs <container>

# 实时跟踪日志
docker logs -f <container>

# 进入正在运行的容器(交互式)
docker exec -it <container> /bin/bash

# 退出容器但不终止:Ctrl+P+Q

📦 数据卷(Volume)管理

# 创建数据卷
docker volume create my-vol

# 查看数据卷
docker volume ls

# 挂载卷到容器
docker run -d -v my-vol:/app/data nginx

# 删除无用卷
docker volume prune

🌐 网络(Network)管理

# 查看网络
docker network ls

# 创建自定义网络
docker network create my-net

# 容器加入网络
docker run -d --network my-net --name web nginx

🧹 清理命令(慎用!)

# 删除所有停止的容器、所有未使用的网络、所有悬空镜像
docker system prune

# 更彻底:加上 -a 会删除所有未使用的镜像(不仅是悬空的)
docker system prune -a

四、一个完整示例:运行 Nginx

# 拉取 Nginx 镜像
docker pull nginx

# 启动容器,映射 8080 端口到主机
docker run -d -p 8080:80 --name my-web nginx

# 浏览器访问 http://localhost:8080

# 查看日志
docker logs my-web

# 停止并删除
docker stop my-web
docker rm my-web

五、常见问题

Q1:Permission denied while trying to connect to the Docker daemon socket

解决:将用户加入 docker 用户组(见 Ubuntu 安装部分),或使用 sudo

Q2:Docker 启动很慢?

检查是否配置了国内镜像加速器(如阿里云、腾讯云)。
以 Ubuntu 为例,创建 /etc/docker/daemon.json

{
  "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
}

然后重启 Docker:sudo systemctl restart docker


六、结语

Docker 极大地简化了应用部署与环境隔离。掌握上述安装与常用命令,你已经迈出了容器化开发的第一步!建议接下来学习 Dockerfile 编写、docker-compose 编排等进阶内容。