Docker安装教程
一、什么是Docker?
Docker 是一个开源的容器化平台,让开发者可以打包应用程序及其依赖项到一个可移植的容器中,然后发布到任何支持Docker的环境中,实现”一次构建,到处运行”。
二、Windows系统安装Docker
1. 系统要求
- Windows 10 64位:专业版、企业版或教育版(需要开启Hyper-V)
- Windows 11 64位:家庭版或专业版
- 必须启用硬件虚拟化技术(在BIOS中开启)
1.1 打开控制面板,找到应用程序
1.2 点击启用或关闭Windows功能
2. 安装步骤
访问Docker官网下载页面:https://www.docker.com/products/docker-desktop
点击”Download for Windows”下载安装包
双击安装包,按照向导进行安装(默认选项即可)
安装完成后,Docker会自动启动,并在任务栏显示图标
打开命令提示符(CMD)或PowerShell,输入以下命令验证安装:
1
2docker --version
docker run hello-world
3. 常见问题
- 若提示Hyper-V未启用,可通过以下方式开启:
- 控制面板 → 程序 → 程序和功能 → 启用或关闭Windows功能
- 勾选Hyper-V相关选项,点击确定并重启电脑
三、macOS系统安装Docker
1. 系统要求
- macOS 11或更高版本(Apple Silicon或Intel芯片均可)
2. 安装步骤
访问Docker官网下载页面:https://www.docker.com/products/docker-desktop
点击”Download for Mac”下载.dmg安装包
将下载的Docker拖入Applications文件夹
从应用程序中启动Docker,首次启动会提示输入密码
等待Docker启动完成(状态栏图标停止动画)
打开终端,输入以下命令验证安装:
1
2docker --version
docker run hello-world
四、Linux系统安装Docker(以Ubuntu为例)
1. 卸载旧版本(如有)
1 | |
2. 安装必要依赖
1 | |
3. 添加Docker官方GPG密钥
1 | |
4. 设置稳定版仓库
1 | |
5. 安装Docker引擎
1 | |
6. 验证安装
1 | |
7. 配置非root用户使用Docker(可选)
1 | |
五、Docker基本命令
查看Docker版本:
1
docker --version检查Docker是否正常运行:
1
docker info拉取镜像:
1
2docker pull [镜像名称]:[标签]
# 示例:docker pull ubuntu:20.04查看本地镜像:
1
docker images运行容器:
1
2docker run [选项] [镜像名称] [命令]
# 示例:docker run -it ubuntu:20.04 /bin/bash查看运行中的容器:
1
docker ps查看所有容器(包括停止的):
1
docker ps -a停止容器:
1
docker stop [容器ID或名称]启动已停止的容器:
1
docker start [容器ID或名称]删除容器:
1
docker rm [容器ID或名称]删除镜像:
1
docker rmi [镜像ID或名称]
六、卸载Docker
Windows/macOS
- 直接从应用程序文件夹中删除Docker应用
- 或通过系统设置中的”应用和功能”进行卸载
Ubuntu
1 | |
通过以上步骤,你可以在不同操作系统上成功安装和配置Docker,并开始使用容器化技术来部署和管理应用程序。
七、Docker Compose 进阶使用
Docker Compose 是 Docker 官方提供的工具,用于通过 YAML 文件定义和运行多容器 Docker 应用程序,简化多容器协调工作的配置与管理。
1. 安装 Docker Compose
Windows/macOS
Docker Desktop 已内置 Docker Compose,无需额外安装,验证安装:
1 | |
Linux
1 | |
2. 基本使用流程
创建项目目录:
1
mkdir my-compose-app && cd my-compose-app编写 docker-compose.yml 文件(核心配置文件):
以下是一个包含 Nginx + 后端 API + MySQL 的示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38version: '3.8' # Compose 文件版本,需与 Docker 版本兼容
services: # 定义服务(容器)
nginx:
image: nginx:alpine
ports:
- "80:80" # 宿主机端口:容器端口
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d # 挂载配置文件
- ./html:/usr/share/nginx/html # 挂载静态文件
depends_on: # 依赖关系,确保 api 先启动
- api
restart: always # 自动重启策略
api:
build: ./api # 从本地 Dockerfile 构建镜像
environment: # 环境变量
- DB_HOST=mysql
- DB_PORT=3306
- DB_USER=root
- DB_PASS=123456
depends_on:
- mysql
restart: unless-stopped # 除非手动停止,否则自动重启
mysql:
image: mysql:8.0
volumes:
- mysql-data:/var/lib/mysql # 命名卷,持久化数据
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=myapp
ports:
- "3306:3306"
restart: on-failure # 失败时重启
volumes: # 定义命名卷(持久化数据)
mysql-data:常用命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 启动所有服务(-d 后台运行)
docker compose up -d
# 查看服务状态
docker compose ps
# 查看服务日志(-f 实时跟踪)
docker compose logs -f [服务名] # 如:docker compose logs -f api
# 重启服务
docker compose restart [服务名] # 不指定服务名则重启所有
# 停止并删除容器、网络(保留数据卷)
docker compose down
# 停止并删除容器、网络、数据卷
docker compose down -v
# 构建并启动(适用于 Dockerfile 变更后)
docker compose up -d --build
3. 进阶配置技巧
(1)网络配置
自定义网络实现服务间隔离与通信:
1 | |
(2)环境变量管理
使用 .env 文件分离配置与代码:
1 | |
在 docker-compose.yml 中引用:
1 | |
(3)多环境配置
为开发、测试、生产环境创建不同配置:
1 | |
启动时指定配置文件:
1 | |
(4)健康检查
确保服务就绪后再对外提供服务:
1 | |
4. 实战案例:部署 WordPress 博客
1 | |
启动命令:
1 | |
通过 Docker Compose,你可以轻松管理复杂的多容器应用,实现环境一致性和部署自动化,大幅提升开发与运维效率。