Docker 安装与入门指南
本文面向零基础读者,从环境准备到安装完成,一步一步带你上手 Docker。内容聚焦两种最常见的安装场景:
- 场景一:Windows 本机通过 Docker Desktop 安装 Docker
- 场景二:云服务器(以阿里云为例)上安装 Docker
本文不涉及 Docker Compose、多容器编排等进阶内容,力求用最短的篇幅帮你把 Docker 跑起来。
1. 什么是 Docker?为什么需要它?
Docker 是一个容器化平台,它把应用程序和它的所有依赖打包在一起,形成一个独立的 "容器",这个容器可以在任何装了 Docker 的机器上运行,不会因为系统环境不同而出问题。
一句话理解:Docker 就像一个轻量级的虚拟机,但比虚拟机快得多、占用资源少得多。
典型场景:
- 你在 Windows 上开发,但服务器是 Linux——用 Docker,代码在哪跑都一样
- 你想学数据库,但不想在本机装一堆服务——Docker 一行命令就能起一个 MySQL/PostgreSQL
- 你想跑别人写的开源项目,但环境配置太复杂——Docker 一个命令全部搞定
2. 场景一:Windows 下安装 Docker Desktop
Docker Desktop 是 Docker 官方为 Windows 用户提供的一键安装方案,内置了 WSL2 后端、图形化管理界面,也是官方的推荐方式。
2.1 下载与安装
- 访问 Docker 官网,点击 Download for Windows
- 下载完成后运行安装程序,所有默认选项保持不动即可,安装程序会自动配置好 WSL2
- 安装完成后重启电脑
- 重启后 Docker Desktop 会自动启动,你可以在系统托盘看到 Docker 的鲸鱼图标
说明:Docker Desktop 安装时会自动安装 WSL2 并创建两个 WSL 发行版(
docker-desktop和docker-desktop-data),你无需手动安装 Ubuntu,也不需要关心 WSL2 的细节。
2.2 验证安装
打开 PowerShell 或 命令提示符,执行:
# 检查 Docker 版本
docker --version
# 输出示例:Docker version 28.0.1, build ...
# 检查 Docker Compose 版本(已内置)
docker compose version
# 运行测试容器
docker run --rm hello-world
看到 Hello from Docker! 就说明安装成功了。
2.3 日常使用
Docker Desktop 开机后会自动在后台运行。使用时直接在 PowerShell 或终端中敲 docker 命令即可,和 Linux 下的体验完全一致。
小技巧:右键点击系统托盘的鲸鱼图标,可以快速打开 Dashboard 图形化管理界面,查看所有容器、镜像、数据卷的状态。
3. 场景二:云服务器上安装 Docker
拥有一台云服务器是学习 Docker 的理想方式——它能 24 小时运行,你可以部署自己的服务并随时随地访问。
3.1 选购云服务器
以笔者的阿里云 ECS 为例:
| 项目 | 配置 |
|---|---|
| 实例规格 | 2 vCPU / 2 GiB 内存 |
| 操作系统 | Ubuntu 22.04 LTS(64 位) |
| 系统盘 | 40 GiB ESSD |
| 公网 IP | 101.133.128.193 |
| 带宽 | 按量计费 |
学生党建议:阿里云有学生优惠,一年几十块钱就能买到基础配置的 ECS,足够学习使用。
购买时注意:
- 操作系统选 Ubuntu 22.04 或 Ubuntu 24.04,生态最好
- 安全组(防火墙)默认只开放 22(SSH)端口,后续根据需要手动开放其他端口
- 创建时选择密钥对登录,比密码更安全
3.2 登录服务器
# 使用 SSH 连接(替换 IP 为你的服务器 IP)
ssh root@你的服务器IP
# 如果使用密钥
ssh -i ~/.ssh/你的密钥 root@你的服务器IP
笔者的习惯:创建一个普通用户
admin来管理,避免直接使用root。并配置~/.ssh/authorized_keys实现免密登录。
3.3 安装 Docker(与 Ubuntu 下完全一致)
登录服务器后,执行的安装命令和 Linux 下完全一致。由于阿里云的 Ubuntu 是标准的 Linux 系统,安装步骤与上面 Windows 无关——下面是完整的安装命令:
# 安装 Docker Engine(适用于 Ubuntu)
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
newgrp docker
3.4 云服务器的额外配置
服务器重启后 Docker 会自动随系统启动(通过 systemd 管理),无需额外配置。
但需要配置安全组(防火墙),否则外部无法访问你的服务:
- 登录阿里云控制台 → ECS → 安全组
- 添加规则,例如:
| 方向 | 端口 | 协议 | 用途 |
|---|---|---|---|
| 入方向 | 80 | TCP | HTTP |
| 入方向 | 443 | TCP | HTTPS |
| 入方向 | 8080 | TCP | 测试应用 |
| 入方向 | 3000 | TCP | Node.js 开发 |
⚠️ 不要开放 22(SSH)的源 IP 为
0.0.0.0/0,建议仅允许你的 IP。数据库端口(如 3306、5432)也不要对公网开放。
4. Docker 基本使用
安装完成后,我们来上手几个最核心的命令。
4.1 运行你的第一个容器
# 运行 Nginx 网页服务器
docker run -d --name my-nginx -p 8080:80 nginx:latest
参数说明:
-d:后台运行--name my-nginx:给容器取名-p 8080:80:把宿主机的 8080 端口映射到容器的 80 端口nginx:latest:使用的镜像名和标签
现在打开浏览器,访问:
- 本地:
http://localhost:8080 - 云服务器:
http://你的服务器IP:8080
你应该能看到 Nginx 的欢迎页面。
4.2 常用命令速查
# ========== 容器管理 ==========
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 停止容器
docker stop 容器名
# 启动已停止的容器
docker start 容器名
# 重启容器
docker restart 容器名
# 删除容器(需先停止)
docker rm 容器名
# 强制删除运行中的容器
docker rm -f 容器名
# 进入容器内部
docker exec -it 容器名 bash
# 查看容器日志(-f 实时跟踪)
docker logs -f 容器名
# ========== 镜像管理 ==========
# 搜索镜像
docker search nginx
# 拉取镜像
docker pull 镜像名:标签
# 查看本地镜像
docker images
# 删除镜像
docker rmi 镜像名
# ========== 清理 ==========
# 清理停止的容器、未使用的镜像和网络
docker system prune -a
4.3 快速搭建一个数据库
这是学习 Docker 最实用的场景——一行命令起一个数据库:
# PostgreSQL
docker run -d \
--name my-postgres \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=your_password \
-e POSTGRES_DB=mydb \
-p 5432:5432 \
-v pgdata:/var/lib/postgresql/data \
postgres:16-bookworm
# MySQL
docker run -d \
--name my-mysql \
-e MYSQL_ROOT_PASSWORD=your_password \
-e MYSQL_DATABASE=mydb \
-p 3306:3306 \
-v mysqldata:/var/lib/mysql \
mysql:8.0
# Redis
docker run -d \
--name my-redis \
-p 6379:6379 \
-v redisdata:/data \
redis:7-alpine
关键参数:
-e:设置环境变量(数据库密码等)-v 卷名:容器内路径:持久化数据,容器删除后数据不丢失postgres:16-bookworm:镜像名:标签,指定具体版本避免意外升级
5. 图形化管理 Docker
命令行功能强大,但对于初学者,图形化界面更直观。这里介绍两种方式——Windows 上的 Docker Desktop Dashboard,和云服务器上的 1Panel。
5.1 Docker Desktop Dashboard(Windows 本地)
Docker Desktop 自带了一个图形化管理界面,无需额外安装:
- 打开方式:右键系统托盘的鲸鱼图标 → 点击 Dashboard
- 功能:
- Containers(容器):查看所有容器状态、启停、删除、查看日志、进入终端,全部鼠标点击完成
- Images(镜像):浏览本地镜像、拉取新镜像、删除无用镜像
- Volumes(数据卷):查看和管理持久化数据
- 搜索:内置 Docker Hub 搜索,找到镜像一键 Pull
对于日常的启停、看日志、删容器等操作,Dashboard 比敲命令方便得多。
5.2 1Panel —— 云服务器上的"应用商店"式管理
在云服务器上,没有图形界面可用。但借助 1Panel 这类 Linux 服务器管理面板,你可以通过浏览器像操作手机 App 一样管理 Docker。
1Panel 是一个开源的 Linux 服务器运维面板,内置了 Docker 可视化管理功能。笔者的阿里云服务器就在使用它。
安装 1Panel(一条命令完成):
# SSH 登录云服务器后执行
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
安装完成后会显示:
===============================
1Panel 安装成功!
面板地址: http://你的IP:端口/
用户名: xxxxxx
密码: xxxxxx
===============================
安装前确保安全组已开放 1Panel 的访问端口(默认是随机端口,安装完成后会显示)。
用 1Panel 管理 Docker:
登录 1Panel 后,进入 容器 菜单:
| 功能 | 说明 |
|---|---|
| 应用商店 | 一键安装 MySQL、Redis、Nginx、WordPress 等 100+ 应用,填写表单即可部署 |
| 容器管理 | 查看启停状态、资源占用、日志、终端,与 Docker Desktop 体验一致 |
| Compose 模板 | 粘贴 docker-compose.yaml 内容,点击部署,无需敲命令 |
| 镜像管理 | 搜索、拉取、删除镜像,支持配置镜像加速 |
| 网络/数据卷 | 可视化创建和管理网络与数据卷 |
以安装 MySQL 为例:
- 左侧菜单 → 应用商店
- 搜索 "MySQL",点击 安装
- 填写:数据库名、密码、端口(可保持默认 3306),勾选"端口外部访问"
- 点击 确认,等待十几秒即可完成
相比前面 4.3 节一长串的命令行参数,在 1Panel 里填几个表单框就搞定了。
笔者的 1Panel 实际配置:面板端口
21471,通过 Nginx 反向代理绑定域名,日常管理非常方便。
6. 下一步学什么?
当你已经能用 docker run 熟练启动单个容器后,下一步自然的学习路径:
- Docker Compose —— 用 YAML 文件管理多容器应用,一条命令启动整个项目
- Dockerfile —— 自己编写镜像构建文件,把项目打包成镜像
- 数据持久化 —— 深入理解 Volume 和 Bind Mount
- 网络配置 —— 容器间通信、自定义网络
可以参考同一目录下的 Docker 部署完全指南 深入学习后续内容。
附录:安装问题排查
问题一:docker 命令提示 "The command 'docker' was not found"
原因:Docker Desktop 未正确安装或未启动。
解决:
- 检查系统托盘中 Docker 图标是否存在;如果没有,从开始菜单手动启动 Docker Desktop
- 等待鲸鱼图标停止动画后重试
问题二:Docker Desktop 启动后一直转圈(Starting...)
原因:WSL2 未正确安装或版本过旧。
解决:
# 以管理员身份打开 PowerShell
wsl --update
wsl --set-default-version 2
# 重启 Docker Desktop
问题三:云服务器上访问服务端口失败
原因:安全组(防火墙)未开放对应端口。
解决:登录云服务器控制台,在安全组中添加入方向规则,开放对应端口。
问题四:拉取镜像速度慢
原因:Docker Hub 在国内访问较慢。
解决:配置国内镜像源。
云服务器(Linux):
sudo tee /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live"
]
}
EOF
sudo systemctl restart docker
Docker Desktop(Windows):
打开 Docker Desktop → 右上角齿轮(Settings)→ Docker Engine,将上面的 registry-mirrors 配置合并到现有 JSON 中,点击 "Apply & Restart"。
本文由河南理工大学人工智能协会整理
2026 年 5 月
评论交流
欢迎留下你的想法