Files
Obsidian/博客/编程与工具/Docker安装与入门指南.md
Serendipity 2dd12d0b67 chore: 清理 .trae 旧文件,新增多篇博客文章
- 删除 .trae/ 目录(Trae IDE 旧配置)
- 删除 temp-agent-os-v2.md
- 新增:AI时代的Token战争——能源算力与我们每个人的选择
- 新增:自建Git服务——在NAS上部署Gitea
- 新增:Docker安装与入门指南
- 更新:Git团队协作指南
- 更新:recent-files-obsidian 插件数据
2026-07-23 22:02:35 +08:00

13 KiB
Raw Permalink Blame History

title, date, author, excerpt
title date author excerpt
Docker 安装与入门指南 2026-05-08 liuhangyv 从零开始学习 Docker:详解 Windows 下通过 Docker Desktop 安装 Docker 的完整流程,以及云服务器(阿里云)上的 Docker 部署方式,附带常用命令速查。

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 LTS64 位)
系统盘 40 GiB ESSD
公网 IP 101.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. 添加规则,例如:
方向 端口 协议 用途
入方向 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 DashboardWindows 本地)

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 DesktopWindows

打开 Docker Desktop → 右上角齿轮(Settings)→ Docker Engine,将上面的 registry-mirrors 配置合并到现有 JSON 中,点击 "Apply & Restart"。


本文由河南理工大学人工智能协会整理 2026年5月