Dokcer通信(以Redis主从集群为例)

ここあ Posted on 2025-11-10 26 Views


  • 创建 mynet 网络
# 创建一个桥接模式的网络(默认模式,适合容器间通信)
docker network create mynet
  • 查看 Docker 中已经创建的网络
docker network ls
  • 创建redis01主节点
docker run -d -p 6379:6379 \
-v /app/rd1:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=master \
-e REDIS_PASSWORD=123456 \
--network mynet --name redis01 \
bitnami/redis
  • 修复主节点容器数据目录的权限
# 为主机目录授权(允许1001用户读写)
sudo chown -R 1001:1001 /app/rd1
# 或放宽目录权限(简单但安全性略低)
sudo chmod -R 777 /app/rd1
  • 创建redis2从节点节点
docker run -d \
  -p 6380:6379 \
  -v /app/rd2:/bitnami/redis/data \
  -e REDIS_REPLICATION_MODE=slave \
  -e REDIS_MASTER_HOST=redis01 \
  -e REDIS_MASTER_PORT_NUMBER=6379 \
  -e REDIS_MASTER_PASSWORD=123456 \
  -e REDIS_PASSWORD=123456 \
  --network mynet \
  --name redis02 \
  bitnami/redis
  • 修复从节点容器数据目录的权限
# 为从机目录授权(允许1001用户读写)
sudo chown -R 1001:1001 /app/rd2
# 或放宽目录权限(简单但安全性略低)
sudo chmod -R 777 /app/rd2
  •  验证解析和连接
# 进入redis02容器,测试能否解析redis01
docker exec -it redis02 ping redis01
# 查看redis02日志,确认是否成功连接主节点
docker logs redis02