当Docker容器创建成功但无法连接时,可能是由多种原因导致的。以下是系统性的排查和解决方法:
docker ps -a
docker logs <容器名/ID>
docker port <容器名/ID>
-p 主机端口:容器端口
# Ubuntu/Debian
sudo ufw status
# CentOS/RHEL
sudo firewall-cmd --list-all
sudo ufw disable
或 sudo systemctl stop firewalld
docker network inspect bridge
--network host
参数直接使用主机网络测试进入容器检查应用是否监听正确:
docker exec -it <容器名/ID> bash
netstat -tuln | grep <端口>
0.0.0.0
而非127.0.0.1
getenforce
setenforce 0
sudo systemctl restart docker
docker stats
# 查看Docker守护进程日志
journalctl -u docker.service
# 或
cat /var/log/docker.log
通过以上步骤,通常可以定位并解决大多数Docker容器无法连接的问题。如果问题仍然存在,请提供更详细的错误信息以便进一步分析。