【踩坑】docker无法访问容器
# 【踩坑】docker无法访问容器
ubuntu22.04 docker拉取镜像跑服务后,无法访问容器
排查流程:
- 防火墙已开放端口
- 进入容器,curl 80端口返回网页内容
- 主机里,访问对应端口没有响应
# 描述
docker run -d -p 8081:80 f26d9
1
docker拉镜像运行时,8081端口访问不到
docker没有报错,容器正常运行
# 解决
查看iptables规则
sudo iptables -L -n -v
1
从iptables的输出来看,默认的FORWARD链策略是DROP,转发流量默认丢弃,导致无法访问容器。为了确保Docker的网络流量正常转发,可以添加规则来允许转发流量
sudo iptables -P FORWARD ACCEPT
sudo systemctl restart docker
sudo iptables -L -n -v
1
2
3
2
3
检查
sudo iptables -L -n -v
1
出现下面就成功了
ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:80
1
编辑 (opens new window)
最后一次更新于: 2024/09/07, 22:30:21