江门市转运信息网

查看docker容器内部Redis的TCP连接问题

2026-03-30 06:46:02 浏览次数:1
详细信息

1. 进入容器内部检查

# 进入Redis容器
docker exec -it <容器名或ID> /bin/bash
# 或使用redis-cli直接连接
docker exec -it <容器名> redis-cli

2. 检查Redis服务状态

# 在容器内检查Redis进程
ps aux | grep redis-server

# 查看Redis监听端口
netstat -tlnp | grep 6379
# 或使用(如果netstat不可用)
ss -tlnp | grep 6379

3. 检查Redis配置

# 查看配置文件中的绑定设置
cat /etc/redis/redis.conf | grep -E "^(bind|protected-mode|port)"

常见配置问题:

4. 检查容器网络

# 查看容器网络模式
docker inspect <容器名> | grep NetworkMode

# 查看容器IP
docker inspect <容器名> | grep IPAddress

# 测试容器内部连通性
docker exec <容器名> ping <目标IP>

5. 检查防火墙/SELinux

# 查看宿主机防火墙规则
iptables -L -n | grep 6379

# 如果使用firewalld
firewall-cmd --list-all

# 临时关闭SELinux测试
setenforce 0

6. 端口映射检查

# 查看容器的端口映射
docker port <容器名>

# 检查宿主机是否监听
netstat -tlnp | grep 6379

7. 连接测试

# 从容器内部测试
docker exec <容器名> redis-cli -h 127.0.0.1 -p 6379 ping

# 从宿主机测试(默认映射端口)
redis-cli -h 127.0.0.1 -p 6379 ping

# 从其他容器测试
docker run --rm redis redis-cli -h <redis容器IP> -p 6379 ping

8. 查看Redis日志

# 查看容器日志
docker logs <容器名>

# 或进入容器查看Redis日志
tail -f /var/log/redis/redis-server.log

常见问题及解决方案

问题1:只能本地访问

# 解决方案:修改redis.conf
bind 0.0.0.0
protected-mode no  # 或设置requirepass密码

问题2:端口未正确映射

# 启动容器时确保端口映射正确
docker run -p 6379:6379 redis

问题3:网络模式限制

# 使用host网络模式(慎用)
docker run --network host redis

# 或创建自定义网络
docker network create mynet
docker run --network mynet --name redis redis

问题4:连接数达到上限

# 查看当前连接
redis-cli info clients
# 输出:connected_clients:XX

# 修改最大连接数(在redis.conf中)
maxclients 10000

9. 快速诊断脚本

#!/bin/bash
CONTAINER_NAME="your_redis_container"

echo "1. 检查容器状态..."
docker ps | grep $CONTAINER_NAME

echo "2. 检查端口映射..."
docker port $CONTAINER_NAME

echo "3. 测试内部连接..."
docker exec $CONTAINER_NAME redis-cli ping

echo "4. 测试外部连接..."
redis-cli -h 127.0.0.1 -p 6379 ping

建议的启动命令

# 推荐使用以下方式启动Redis容器
docker run -d \
  --name redis \
  -p 6379:6379 \
  -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf \
  redis redis-server /usr/local/etc/redis/redis.conf

如果需要进一步帮助,请提供:

Docker容器的启动命令或docker-compose.yml Redis配置文件内容 具体的错误信息 使用的网络模式
相关推荐