看了前两篇用传统方式搭建环境的同学,不知道有没有被繁琐的步骤和时不时跳出的错误折磨得不轻,哈哈哈哈😄
聪明的你这时候就会想:有没有什么办法可以告别这种原始的、刀耕火种般的操作,既能快速一键部署环境,又能让项目轻松连接、不报错?
那么恭喜你!作为一名 Docker 玩家,我们可以轻松做到这一点。成年人从来不做选择题。

第一步、安装 Docker
Docker 官网: https://www.docker.com/

这次只面向 Windows 用户;面向 macOS 用户的 Go 版本,我会在后续分享。
Windows 用户想安装并使用 Docker,首先需要安装 WSL。具体安装步骤和系统要求可以参考微软官方文档,这里只说明安装时的几个要点:
# 一键安装
wsl --install
# 默认情况下,wsl的系统实例是安装在C盘的,为了不占用稀缺的C盘空间
# 安装完成我们只需要执行导出->销毁->导入三个步骤,即可快速将系统实例迁移到其他目录
# 其中 Ubuntu 为实例名称,可以通过 wsl -l -v 命令查看
# d:\env\wsl\ubuntu.tar 为导出后的文件路径
# d:\env\wsl 为迁移后的路径
wsl --export Ubuntu d:\env\wsl\ubuntu.tar # 导出实例
wsl --unregister Ubuntu # 销毁实例
wsl --import Ubuntu d:\env\wsl d:\env\wsl\ubuntu.tar --version 2 # 重新导入实例
WSL 安装完成后,就可以下载安装 Docker 了。Docker 安装比较简单,双击运行安装包即可。
默认情况下 docker 会安装在 C:\Program Files\Docker\Docker 目录下
如果想安装到自定义目录,可以通过在 CMD 终端中执行以下指令:
# 打开 cmd 终端,cd 到 docker 安装包路径下"Docker Desktop Installer.exe" install --installation-dir=D:\env\docker
复制代码第二步,配置 docker
Docker 安装完成后,可以修改几项配置,自定义镜像目录并提高镜像拉取速度:
a.修改镜像地址,从 c 盘 切换到自定义目录

b.添加 docker 镜像源

https://blog.xuanyuan.me/archives/1154 最新镜像源
c.验证
sudo docker run --rm hello-world
复制代码看到 Hello from Docker! 说明你的电脑已获得容器超能力!
三、docker compose 一键部署
- 打开 CMD 终端,输入 wsl 并回车,进入 Ubuntu 子系统,然后执行下面三条命令,在根目录创建 data 目录
cd /
mkdir data
sudo chmod 777 data
复制代码2.复制下面的 docker-compose.yaml 文件到 data 目录下,代码仓库的 docs 目录下也有。

代码仓库的获取方式,可以复制这个链接到浏览器的 URL 打开: https://t.zsxq.com/XBc0a

3.在 /data 目录下,执行启动命令
sudo docker compose up -d
复制代码首次执行时,Docker 会自动下载相关镜像,这一步可能需要一些时间。

出现以下界面,就说明所有服务都已部署完成。

此时也可以在 Docker Desktop 中查看容器运行状态。

四、验货时间!确认服务正常运行
输入 sudo docker ps 查看容器运行状态:

验证 mysql

验证 redis

验证 minio,直接在浏览器输入 http://localhost:19001/login ,输入账号密码验证

验证 kafka在 docker 桌面端输入命令,查看主题列表 kafka-topics.sh --list --bootstrap-server localhost:9092

验证 ElasticSearch浏览器访问 http://localhost:9200/ ,输入账号密码登录


输入 http://localhost:9200/_cat/plugins?v ,验证分词器插件是否安装成功

五、修改本地运行参数
最后修改 application.yml 中的相关参数,使其与 docker-compose.yaml 中的对应参数保持一致即可。

六、docker 和 docker compose 常用命令
最后附上 docker 和 docker compose 的常用命令,方便查阅:
Docker 常用命令
镜像管理
| 命令 | 说明 |
|---|---|
| docker ps | 查看运行中的容器 |
| docker ps -a | 查看所有容器(包括已停止的) |
| docker run -d -p <主机端口>:<容器端口> —name <容器名> <镜像名> | 启动容器(-d 后台运行,-p 端口映射) |
| docker start/stop/restart <容器名/ID> | 启动/停止/重启容器 |
| docker rm <容器ID> | 删除已停止的容器 |
| docker rm -f <容器ID> | 强制删除容器(包括运行中的) |
|---|---|
| docker exec -it <容器名/ID> /bin/bash | 进入容器交互终端 |
| docker logs <容器名/ID> | 查看容器日志 |
| docker inspect <容器名/ID> | 查看容器详细信息 |
容器管理
| 命令 | 说明 |
|---|---|
| docker ps | 查看运行中的容器 |
| docker ps -a | 查看所有容器(包括已停止的) |
| docker run -d -p <主机端口>:<容器端口> —name <容器名> <镜像名> | 启动容器(-d 后台运行,-p 端口映射) |
| docker start/stop/restart <容器名/ID> | 启动/停止/重启容器 |
| docker rm <容器ID> | 删除已停止的容器 |
|---|---|
| docker rm -f <容器ID> | 强制删除容器(包括运行中的) |
| docker exec -it <容器名/ID> /bin/bash | 进入容器交互终端 |
| docker logs <容器名/ID> | 查看容器日志 |
| docker inspect <容器名/ID> | 查看容器详细信息 |
网络与数据卷
| 命令 | 说明 |
|---|---|
| docker network ls | 查看网络列表 |
| docker volume ls | 查看数据卷列表 |
| docker volume create <卷名> | 创建数据卷 |
系统清理
| 命令 | 说明 |
|---|---|
| docker system prune | 清理无用镜像、容器、网络(需确认) |
| docker system prune -a | 清理所有未使用的镜像(慎用) |
Docker Compose 常用命令
基本操作
| 命令 | 说明 |
|---|---|
| docker-compose up -d | 启动所有服务(-d 后台运行) |
| docker-compose down | 停止并删除所有容器、网络 |
| docker-compose start/stop/restart | 启动/停止/重启服务 |
| docker-compose ps | 查看服务运行状态 |
|---|---|
| docker-compose logs -f <服务名> | 实时查看服务日志 |
构建与更新
| 命令 | 说明 |
|---|---|
| docker-compose build | 根据 docker-compose.yml 构建镜像 |
| docker-compose pull | 拉取服务所需的镜像 |
| docker-compose up —build -d | 重新构建并启动服务 |
其他
| 命令 | 说明 |
|---|---|
| docker-compose exec <服务名> /bin/bash | 进入指定服务的容器 |
| docker-compose config | 验证配置文件语法 |