【docker】运行对应服务
✅ 结论:安装了 Docker,你就能直接用 Redis,连安装都不用。
因为 Redis 官方已经提供了一个现成的镜像,只要拉下来运行即可。
🧱 一、为什么可以直接用 Redis?
Docker 的核心能力就是:
让你在容器里运行任何软件,而主机不用安装。
Redis、Postgres、MySQL、MongoDB 全部都有官方镜像。
你相当于使用“官方打包好的 Redis 环境”,不像传统安装那样需要配置、依赖处理、版本管理。
举例:
你现在运行 Redis 就一句命令:
docker run -d -p 6379:6379 redis
Docker 会自动做 3 件事:
- 从 Docker Hub 下载 redis 镜像
- 启动一个 Redis 服务
- 将容器内部 6379 端口映射到你的本机 6379
你马上就能用 Redis:
- 你的 NestJS 直接连:
localhost:6379 - Python、Go、PHP 都能连:
localhost:6379 - Redis GUI 工具也能连:
localhost:6379
不需要安装 redis.exe
不需要配置 Redis 服务
不需要手动启动 Redis
🚀 二、你可以直接用的服务(全都只是“一句命令”)
下面这些服务,你已经可以直接用——全部一条命令搞定:
| 服务 | 一行命令 |
|---|---|
| Redis | docker run -d -p 6379:6379 redis |
| PostgreSQL | docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=123 postgres |
| MySQL | docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql |
| MongoDB | docker run -d -p 27017:27017 mongo |
| RabbitMQ | docker run -d -p 5672:5672 rabbitmq |
| MinIO | docker run -d -p 9000:9000 -p 9001:9001 minio/minio server /data |
| ElasticSearch | docker run -d -p 9200:9200 elasticsearch |
| Nginx | docker run -d -p 80:80 nginx |
你以后完全不需要在 Windows 安装任何服务。
📦 三、Docker 跑的 Redis 和本地安装的 Redis 有区别吗?
从项目角度看:
没有任何区别。
项目连接方式一样:
redis://localhost:6379
只是运行方式变了:
- 原来是本地安装,一个服务固定在系统里
- 现在是 Docker 运行,随时可以关闭、删除、重建
而且容器的 Redis 永远干净、版本可控。
🕸 四、容器跑的 Redis 是怎么“映射”给你的?
容器内部端口 → 主机端口
例如:
docker run -p 6379:6379 redis
解释:
- 左边 6379(主机端口) → 你自己电脑的端口
- 右边 6379(容器端口) → Redis 在容器内运行的端口
这叫 端口映射(Port Mapping)。
所以即使它跑在 Docker 里,
你依然可以用本地地址访问:
localhost:6379
就像 Redis 装在你电脑上一样。
🧩 五、我给你一个实际的使用流程(最常用)
你装好 Docker → 你的一个 NestJS 项目要用 Redis。
只需:
docker run -d -p 6379:6379 --name redis-server redis
然后在 NestJS config 里写:
host: 'localhost',
port: 6379,
就能用了。
🧪 六、你可以验证 Redis 是否真的在跑
docker ps
你会看到:
CONTAINER ID IMAGE COMMAND PORTS
xxxxxxx redis "redis-server" 0.0.0.0:6379->6379/tcp
这表示:
✔ Redis 正在运行
✔ 已经映射到了主机端口
✔ 可以直接访问
🧯 七、最重要的:你以后可以这样管理它们
停止 Redis:
docker stop redis-server
再次启动:
docker start redis-server
删除 Redis:
docker rm redis-server
无污染、不占系统资源、不影响项目。
