使用 Docker Compose 安装常用中间件

使用 Docker Compose 安装常用中间件

    • [1、安装 Redis](#1、安装 Redis)
    • [2、安装 RabbitMQ](#2、安装 RabbitMQ)

1、安装 Redis

  • 1.1、编写 docker-compose.yml
yml 复制代码
version: "3.2"
services:
  redis:
    privileged: true
    restart: always
    image: redis
    container_name: redis
    command: redis-server --requirepass 12345678 #redis的密码
    ports:
      - "6379:6379"
  • 1.2、启动
bash 复制代码
docker-compose up -d
  • 1.3、解释
配置行 具体含义
version: "3.2" 指定 Docker Compose 配置文件的版本号
services: Compose的核心节点,所有要运行的容器服务都定义在这个节点下(比如这里的 Redis 服务)。
redis: 定义一个名为 redis 的服务(对应一个 Redis 容器)。
privileged: true 给 Redis 容器开启 特权模式,让容器内的进程拥有宿主机的 root 级权限(Redis 本身不需要这么高权限,一般是为了兼容某些特殊场景,比如容器内需要访问宿主机硬件/修改系统参数,这里配了也不影响 Redis 正常运行),如果不需要,可删除这一行,Redis 依然能正常工作。
restart: always 指定容器重启策略。always 的含义是"始终重启"------无论容器因任何原因退出(比如崩溃、系统重启、手动停止后又重启Docker),都会自动重启容器。
image: redis 指定容器使用的Docker镜像。直接写 redis 表示使用 Docker Hub 官方的 Redis 镜像,默认拉取 latest(最新)版本。如果想指定版本(比如 Redis 6.2),可写成 image: redis:6.2。
container_name: redis 手动指定容器的名称为redis。默认情况下,Compose 会自动生成容器名(格式:项目名_服务名_序号,比如 myapp_redis_1 )。手动命名后,可以用 docker ps 直接看到 redis 容器,也能通过 docker stop redis 快速操作,更易识别。
command: redis-server --requirepass 12345678 覆盖容器的默认启动命令。Redis 容器默认启动命令是 redis-server(无密码);这里追加了--requirepass 12345678,表示启动 Redis 时设置访问密码为 12345678 。
ports: 端口映射配置节点,用于将容器内的端口暴露到宿主机。
- "6379:6379" 具体的端口映射规则。格式:宿主机端口:容器内端口;这里表示将宿主机的 6379 端口映射到容器内的 6379 端口(Redis默认端口);外部设备/程序可以通过宿主机IP:6379访问这个Redis服务。

2、安装 RabbitMQ

  • 2.1、编写 docker-compose.yml
yml 复制代码
version: '3.3'
services:
  rabbitmq:
    restart: always
    privileged: true
    image: rabbitmq:3.12-management
    ports:
      - 5672:5672
      - 15672:15672
    environment:
      - RABBITMQ_DEFAULT_USER=admin
      - RABBITMQ_DEFAULT_PASS=12345678
  • 2.2、启动
bash 复制代码
docker-compose up -d
  • 2.3、解释
配置行 具体含义
image: rabbitmq:3.12-management 指定容器使用的Docker镜像。rabbitmq:3.12 是 RabbitMQ 的官方镜像(3.12 为具体版本)。后缀 -management 表示该镜像预装了 RabbitMQ 的 Web 管理插件(纯 rabbitmq:3.12 镜像不带管理界面,只能通过命令行操作)。
- 5672:5672 消息通信端口映射。格式:宿主机端口:容器内端口。5672 是 RabbitMQ 的核心 AMQP 协议端口(生产者/消费者发送/接收消息的端口),外部应用(如Java/Python程序)可通过 宿主机IP:5672 连接 RabbitMQ 收发消息。
- 15672:15672 Web管理界面端口映射。15672 是 RabbitMQ 管理插件的默认端口。浏览器访问 http://宿主机IP:15672 即可打开 RabbitMQ 的可视化管理后台。
environment: 环境变量配置节点,用于设置 RabbitMQ 的初始化参数(无需进入容器手动配置)。
- RABBITMQ_DEFAULT_USER=admin 设置 RabbitMQ 的 默认管理员用户名 为 admin。若不配置,RabbitMQ 默认用户名是 guest(且 guest 仅允许本地访问,无法远程登录)。
- RABBITMQ_DEFAULT_PASS=12345678 设置默认管理员密码为 12345678。
相关推荐
Lvan的前端笔记2 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd7 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人7 小时前
1、什么是K8s
云原生·容器·kubernetes
帷幕落秋9 小时前
Docker的两种安装
运维·docker·容器
工业一体机老司机9 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
fengkai45459 小时前
十二、Redis -2
运维·数据库·redis·容器
Wang's Blog10 小时前
Java 中间件之 RabbitMQ 快速入门: 异步通讯的优缺点
java·中间件·java-rabbitmq
DolitD11 小时前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
姜鱼问生13 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
人生百态,人生如梦14 小时前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch