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 下载与安装

  1. 访问 Docker 官网,点击 Download for Windows
  2. 下载完成后运行安装程序,所有默认选项保持不动即可,安装程序会自动配置好 WSL2
  3. 安装完成后重启电脑
  4. 重启后 Docker Desktop 会自动启动,你可以在系统托盘看到 Docker 的鲸鱼图标

说明:Docker Desktop 安装时会自动安装 WSL2 并创建两个 WSL 发行版(docker-desktopdocker-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
公网 IP101.133.128.193
带宽按量计费

学生党建议:阿里云有学生优惠,一年几十块钱就能买到基础配置的 ECS,足够学习使用。

购买时注意:

  • 操作系统选 Ubuntu 22.04Ubuntu 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 管理),无需额外配置。

但需要配置安全组(防火墙),否则外部无法访问你的服务:

  1. 登录阿里云控制台 → ECS → 安全组
  2. 添加规则,例如:
方向端口协议用途
入方向80TCPHTTP
入方向443TCPHTTPS
入方向8080TCP测试应用
入方向3000TCPNode.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 为例

  1. 左侧菜单 → 应用商店
  2. 搜索 "MySQL",点击 安装
  3. 填写:数据库名、密码、端口(可保持默认 3306),勾选"端口外部访问"
  4. 点击 确认,等待十几秒即可完成

相比前面 4.3 节一长串的命令行参数,在 1Panel 里填几个表单框就搞定了。

笔者的 1Panel 实际配置:面板端口 21471,通过 Nginx 反向代理绑定域名,日常管理非常方便。


6. 下一步学什么?

当你已经能用 docker run 熟练启动单个容器后,下一步自然的学习路径:

  1. Docker Compose —— 用 YAML 文件管理多容器应用,一条命令启动整个项目
  2. Dockerfile —— 自己编写镜像构建文件,把项目打包成镜像
  3. 数据持久化 —— 深入理解 Volume 和 Bind Mount
  4. 网络配置 —— 容器间通信、自定义网络

可以参考同一目录下的 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 月