本地电脑部署docker,及各种组件(nginx、mysql、redis、mongo、minio、java)

一 、查看当前本地部署的电脑配置

1.1最快的方法:

在键盘上同时按下 Win + R 键,在弹出的"运行"对话框里输入 winver,然后点"确定"。屏幕上会弹出一个关于Windows的小窗口,里面会清清楚楚地写着版本号,比如"Windows 10 专业版"或"Windows 11 家庭版"。

1.2 另一个方法:

在桌面或文件资源管理器里,右键点击 "此电脑"(或"我的电脑"),选择 "属性",在打开的页面里也能看到 Windows 的版本信息。

备注:

  • 如果是 Windows 10/11 专业版或企业版,可以直接安装Docker Desktop

  • 如果是 Windows 10/11 家庭版,安装Docker时就需要额外注意启用WSL 2的步骤。

二 、安装Docker

2.1 安装前准备:检查两项关键设置

  • 确保系统是 64 位:你的专业版系统肯定是 64 位的,这符合要求。

  • **开启硬件虚拟化:**这是运行 Docker 所依赖的 Hyper-V 或 WSL 2 的基础。

  • 如何检查 :打开任务管理器(Ctrl + Shift + Esc),点击"性能"选项卡,查看"CPU"部分。如果"虚拟化"显示为"已启用",就说明已经开启了。

  • 如果未启用:你需要重启电脑,在开机时进入 BIOS/UEFI 设置界面,找到并开启 Intel VT-x 或 AMD-V 选项。不同电脑进入 BIOS 的按键不同(通常是 Del、F2 或 F10)。

2.2 安装docker具体详情步骤

2.2.1 下载 Docker Desktop

访问 Docker 官网下载页面:https://www.docker.com/products/docker-desktop/,点击下载 Docker Desktop for Windows。

2.2.2 运行安装程序

双击下载的 Docker Desktop Installer.exe,在弹出的对话框中,勾选 "Use WSL 2 instead of Hyper-V"(推荐选项,性能更好),然后点击 OK 开始安装。

  • 运行安装程序并选择模式

    双击安装包后,安装向导会询问你选择安装模式:

  • 推荐"仅为我安装 (Per-user)":这是新版推荐的安装方式,不需要管理员权限,安装和后续更新都更方便,并且默认使用性能更好的 WSL 2 后端。

  • "为所有用户安装 (All-users)":需要管理员权限,安装位置在 C:\Program Files。如果你的工作场景需要使用 Hyper-V 后端或 Windows 容器,才需要选这个。对大多数开发者来说,第一种就足够了。

  • 确认 WSL 2 后端选项

    在配置页面,请确保勾选 "Use WSL 2 instead of Hyper-V" (使用 WSL 2 而不是 Hyper-V)。这是目前运行 Linux 容器性能最好、资源占用最少的方式,也正好匹配我们刚才选择的推荐安装模式。

  • 等待并完成安装

    点击"OK"或"Install "后,安装程序会自动配置所需组件。成功后,点击 "Close " 关闭窗口即可

2.2.3 重启电脑,在桌面上双击打开 -- 鲸鱼图标

安装完成后,根据提示重启电脑。

2.2.3.1 这个弹窗是 Docker 的服务协议确认页面,正常现象,第一次启动都会遇到。

直接点击 "Accept" 按钮就可以了。

2.2.3.2 这个页面是询问你的使用场景,直接点击右下角的 "Skip" 按钮跳过就好。

📌 为什么不登录?

不登录完全不影响 Docker 在本地的正常使用,所有核心功能(拉取镜像、运行容器、构建镜像等)都可用。

登录主要是为了访问 Docker Hub 的私有仓库、推送镜像等高级功能,你现在还不需要。

👉 下一步

点击 "Skip" 后,Docker Desktop 就会完成初始化,进入主界面。右下角系统托盘的鲸鱼图标稳定下来后,打开命令提示符输入:

csharp 复制代码
docker --version

能看到版本号就说明一切正常了。😄

2.2.3.3 Virtualization support not detected 报错

原因: Docker Desktop 需要 Windows 的虚拟化平台支持才能运行,但我们电脑上缺少必要的组件或设置。虽然你之前任务管理器显示"虚拟化: 已启用",但 Docker 还需要一些特定的 Windows 功能才能工作。

解决方法: 启用必要的 Windows 功能

这是最关键的一步。按下 Win + R 键,输入 optionalfeatures 并回车,打开"Windows 功能"窗口。请确保以下两项都已勾选:

  • Virtual Machine Platform (虚拟机平台)

  • 适用于 Linux 的 Windows 子系统 (Windows Subsystem for Linux)

如果有未勾选的,请勾选上,点击"确定",然后重启电脑。

2.2.3.4 WSL needs updating 需更新

报错提醒: WSL needs updating 需更新

解决方案:

  • 1.以管理员身份打开 PowerShell 或命令提示符

    在开始菜单搜索 PowerShell,右键选择 "以管理员身份运行"。

  • 2执行 WSL 更新命令

    在管理员窗口中输入以下命令并回车:

csharp 复制代码
wsl --update

系统会自动下载并安装最新版本的 WSL。

更新完成后,重启 Docker Desktop
更新完成后,先关闭 Docker Desktop,然后重新打开它。

具体操作步骤:

  • **关闭 Docker Desktop:**如果它还在运行,先完全退出(找到右下角 系统托盘鲸鱼图标 → 右击图标-》Quit)。

  • 重新启动 Docker Desktop:从开始菜单再次打开。

  • **等待初始化完成:**启动后右下角鲸鱼图标会跳动,等它稳定下来(不再跳动)。

2.2.4 启动并验证

重启后,在开始菜单找到 Docker Desktop 并启动。等待右下角鲸鱼图标变稳定后,打开命令提示符(CMD)或 PowerShell,输入以下命令验证是否成功:

  • 验证安装
    鲸鱼图标稳定后,打开命令提示符(CMD)或 PowerShell,输入:
csharp 复制代码
docker --version
  • 还可以再跑一个测试容器,确认完整功能:
csharp 复制代码
docker run hello-world

如果看到 Hello from Docker! 的欢迎信息,就大功告成了!

三 、安装docker 中的组件 nginx、mysql、redis、mongo、minio、java

具体步骤如下:这些 .tar 文件是 Docker 镜像的压缩包,只需要把它们加载到 Docker 里就能直接用了,不需要从网上下载。

3.1安装组件的准备工作

docker load -i 文件名.tar

加载镜像,这些文件的路径是否要写上

规则很简单

  • 如果命令行当前就在存放这些 .tar 文件的文件夹里 → 直接写文件名就行
  • 如果命令行在其他文件夹 → 需要写完整路径
步骤一:先查看文件的各种组件.tar 在那个文件夹中
复制代码
  例如在:**D:\组件安装说明\dockerimages**
  • 1.打开存放 .tar 文件的文件夹。

  • 2.点击文件夹窗口上方的地址栏(显示路径的位置,比如 D:\组件安装说明\dockerimages )。

  • 3.在地址栏里输入 cmdpowershell ,然后按 Enter 键。

  • 4.命令行窗口就会在当前文件夹路径下打开。

3.2 docker中加载组件 软件步骤

加载各组件镜像的完整命令清单

cpp 复制代码
docker load -i java.tar
docker load -i minio.tar
docker load -i mongo.tar
docker load -i mysql.tar
docker load -i nginx.tar
docker load -i redis.tar

验证一下

输入以下命令查看所有镜像:

csharp 复制代码
docker images

验证成功后,就可以进行下一步启动组件了

3.3 nginx--在docker容器中启动的步骤详情

复制代码
先运行 Nginx。在 PowerShell 中输入以下命令并回车:
csharp 复制代码
docker run -d -p 80:80 nginx:1.10
csharp 复制代码
a1b2c3d4e5f6...

然后打开浏览器,访问 http://localhost ,如果能看到 Nginx 的欢迎页面("Welcome to nginx!"),就说明运行成功了!

csharp 复制代码
用途	                   命令
查看运行中的容器:	    docker ps
停止容器:	           docker stop 容器ID
重新启动容器:	         docker start 容器ID
查看容器日志	:         docker logs 容器ID
删除容器(慎用)	:             docker rm 容器ID(需要先停止)  删除nginx

3.4 MySQL(数据库)-- 在docker容器中启动的步骤详情

🚀 运行 MySQL 命令

在 PowerShell 中输入以下命令并回车:

csharp 复制代码
docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

✅ 验证 MySQL 是否正常运行

csharp 复制代码
docker ps

能看到 mysql:5.7 的容器在列表中,状态为 Up,就说明成功了。

🔗 连接 MySQL

运行成功后,你可以用以下方式连接:

方式一:通过 Docker 内部连接

csharp 复制代码
docker exec -it 容器ID mysql -uroot -p123456

(把 容器ID 替换成实际的容器 ID,docker ps 可以查看)

备注:退出 mysql内部链接 命令行:输入 exit 按回车。

方式二:通过本机端口连接

csharp 复制代码
主机:localhost 或 127.0.0.1

端口:3306

用户名:root

密码:123456

可以用任何 MySQL 客户端(如 Navicat、DBeaver、DataGrip)或命令行工具连接。

3.5 Redis(缓存数据库)-- 在docker容器中启动的步骤详情

🚀 运行 Redis 命令

在 PowerShell 中输入以下命令并回车:

csharp 复制代码
docker run -d -p 6379:6379 redis:5

🔗 测试 Redis 连接

csharp 复制代码
docker exec -it 容器ID redis-cli

如果成功,你会看到 127.0.0.1:6379> 提示符,输入 ping 测试,如果返回 PONG 就说明正常。

测试 Redis

进入 Redis 命令行后:

  • 输入 ping ,应该返回 PONG

  • 输入 set name docker ,应该返回 OK

  • 输入 get name ,应该返回 "docker"

退出 Redis 命令行:

  • 输入 exit 按回车。

3.6 MongoDB(文档数据库)-- 在docker容器中启动的步骤详情

🚀 运行 MongoDB 命令

在 PowerShell 中输入以下命令并回车:

csharp 复制代码
docker run -d -p 27017:27017 mongo:latest

🔗 测试 MongoDB 连接

csharp 复制代码
docker exec -it 容器ID mongosh

(把 容器ID 替换成实际的容器 ID,用 docker ps 查看)

如果成功,你会看到 MongoDB Shell 提示符,输入 show dbs 查看数据库列表,输入 exit 退出。

💡 测试一下 MongoDB使用

在 MongoDB Shell 中,可以试试:

csharp 复制代码
show dbs
use test
db.users.insertOne({name: "docker", age: 1})
db.users.find()
exit

3.5 MinIO -- 在docker容器中启动的步骤详情

🚀 运行 MinIO 命令

在 PowerShell 中输入以下命令并回车:

cpp 复制代码
docker run -d -p 9000:9000 -p 9001:9001 quay.io/minio/minio:RELEASE.2022-02-18T01-50-10Z server /data --console-address ":9001"

🌐 访问 MinIO Web 控制台

运行成功后,打开浏览器访问:http://localhost:9001

登录信息:

  • 用户名:minioadmin

  • 密码:minioadmin

登录后可以创建 Bucket(存储桶)、上传文件、管理权限等。

验证 MinIO 是否正常运行

cpp 复制代码
docker ps

应该能看到 5 个容器都在运行(Nginx、MySQL、Redis、MongoDB、MinIO)。

到此:

🔧 常用操作

csharp 复制代码
查看所有容器               	docker ps
停止多个个容器	            docker stop 容器ID1 容器ID2  容器ID3  容器ID4  容器ID5  容器ID6
启动已停止的多个容器	        docker start 容器ID1 容器ID2  容器ID3  容器ID4  容器ID5  容器ID6
查看容器日志	                docker logs 容器ID1 容器ID2  容器ID3  容器ID4  容器ID5  容器ID6

3.6 安装好docker 还需要安装docker-compose

原因:你已经成功安装了 Docker Engine(可以理解为"单容器管理工具 "),而 Docker Compose 是一个独立的多容器编排工具 ,两者解决的是不同层面问题。你目前手动逐个启动容器的操作,就是 Compose 可以帮你自动化管理的场景。

**简单理解:**就是docker 只能单个逐次启动容器 ,Docker Compose 可以一次性执行启动多个容器

Docker(你已安装的)

  • 核心作用: 管理和运行单个容器。

    操作方式: 主要通过 docker run 命令来逐个启动容器。

    配置方式: 依靠 Dockerfile 构建镜像,通过命令行参数指定端口、环境变量等。

    适用场景: 运行独立应用,或者极少数几个临时测试的服务。

Docker Compose

  • 核心作用: 定义和运行多个相互关联的容器(一个完整的应用栈)。

    操作方式: 用一个 docker compose up 命令,就能一键启动整个项目依赖的所有服务。

    配置方式: 将所有配置(镜像、端口、环境变量、网络、数据卷、依赖关系等)写在一个 compose.yaml 文件里。

    适用场景: 开发和测试复杂的应用(如:App + MySQL + Redis + MinIO 的组合),确保团队环境一致。

如何验证和确认版本

打开命令行(PowerShell 或 CMD)。

输入以下命令并回车:

csharp 复制代码
docker compose version

如果看到类似下面的版本信息,说明 Compose 已经安装好了,可以继续使用。

cpp 复制代码
Docker Compose version v2.24.2-desktop.1

如果提示命令不存在或报错,那么才需要进行安装。这种情况在 Docker Desktop 上很少见,如果真的遇到,告诉我你的报错信息。

✅ 接下来:写一个 Compose 配置文件

既然 Compose 已经可用了,我们可以把你之前手动启动的 5 个服务(Nginx、MySQL、Redis、MongoDB、MinIO)写成一个 docker-compose.yml 文件。以后想用的时候,一条命令就能全部启动,非常方便。

1. 创建配置文件

在 PowerShell 中,确保你在一个项目目录下(比如 D:\myproject),然后输入以下命令创建一个 docker-compose.yml 文件并写入内容:

csharp 复制代码
# 先切换到你的工作目录,如果没有就新建一个
mkdir myproject -ErrorAction SilentlyContinue  //创建 myproject文件夹
cd myproject                                   // 切换到 新创建的myproject文件夹

操作实例:

创建 docker-compose.yml 文件

csharp 复制代码
# 执行后

# 写入 compose 配置
@"
services:
  nginx:
    image: nginx:1.10
    ports:
      - "80:80"

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - "3306:3306"

  redis:
    image: redis:5
    ports:
      - "6379:6379"

  mongo:
    image: mongo:latest
    ports:
      - "27017:27017"

  minio:
    image: quay.io/minio/minio:RELEASE.2022-02-18T01-50-10Z
    ports:
      - "9000:9000"
      - "9001:9001"
    command: server /data --console-address ":9001"
"@ | Out-File -FilePath docker-compose.yml -Encoding utf8
2.一键启动所有服务

配置完成后,在项目目录下执行:

csharp 复制代码
docker compose up -d

这时你会看到 Docker 依次拉取(如果需要)并启动这 5 个容器,所有服务会同时运行。

3.验证

启动成功后,用 docker ps 可以看到所有容器都在运行。你也可以像之前一样,访问 http://localhost 查看 Nginx,或访问 http://localhost:9001 查看 MinIO 控制台。

4.一键停止所有服务

当你想暂停整个环境时,只需在项目目录下执行:

csharp 复制代码
docker compose down

所有容器就会被优雅地停止并移除。

相关推荐
donoot5 小时前
一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络
nginx·docker·selinux·反向代理·502 bad gateway
Sagittarius_A*7 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
名字还没想好☜9 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
生活爱好者!11 小时前
NAS还能玩游戏?部署一款 WebGL 3D 赛车小游戏
游戏·docker·容器·玩游戏
hj28625112 小时前
Docker 核心知识点整理(网络 + Dockerfile + 原理 + 命令)
网络·docker·容器
梦想的颜色20 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
极客先躯1 天前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
大E帝国子民11 天前
Docker 部署 RocketMQ 5
docker·容器·rocketmq
江湖有缘1 天前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器