测试机上使用docker 构建了redis服务,需要开放给外网访问。
使用
docker run -p 6379:6379 --name myredis -v /root/docker-redis/redis.conf:/etc/redis/redis.conf -v /root/docker-redis/data:/data -d redis:4.0 redis-server /etc/redis/redis.conf --appendonly yes
外网无法链接到redis,登录容器检查redis启动没有问题, telnet发现端口不通, 检查 redis 配置还有防火墙等配置均没有问题。
无奈,更换网络配置host发现链接正常
docker run --net=host --name myredis -v /root/docker-redis/redis.conf:/etc/redis/redis.conf -v /root/docker-redis/data:/data -d redis:4.0 redis-server /etc/redis/redis.conf --appendonly yes
宿主机:centos7.2
docker版本:20.10.9
请问:
第一次采用端口映射的方式为什么外网无法链接
1、容器启动后有查看iptables是否正常创建了DNAT和SNAT规则吗?
2、 cat /proc/sys/net/ipv4/ip_forward确认下是否开启了转发功能。