使用docker过程中可能会出现connection refused故障提醒。出现这提醒表示应用程序不能直接连接到特定服务或端口。那么docker使用中导致这类错误出现的原因有哪些?
先检查服务器是否正常运行,检查docker当前状态:
docker ps
当目标服务器的容器没有运行,需要启动:
docker start
Docker容器一般会把内部端口映射到主机端口。当端口映射配置错误,可能会出现connection refused故障,查看容器端口的映射状况:
docker port
需要保证当前使用正确主机端口,如果端口错误需要修改:
docker run -p :
检查当前网络配置:
docker network ls
如果使用的是自定义网络,确保其他容器也在同一网络中,把容器连接到特定网络:
docker network connect
使用中防火墙可能会影响端口访问,检查服务器和容器防火墙设置。保证运行特定端口通过,查看防火墙状态:
sudo ufw status
如果有需要可以支持特定端口通过:
sudo ufw allow
检查应用程序配置,应用程序错误配置会导致连接问题。正确监听IP地址和端口,一般应用程序配置监听“0.0.0.0”,接受全部IP的连接。Node.js应用中:
app.listen(port, '0.0.0.0', () => { console.log(`Server running on port ${port}`); });
查看日志信息:
docker logs
总是来看,排查docker中的connection refused故障主要关注服务状态、端口映射、网络设置、防火墙配置、应用程序配置及日志信息。逐一排查可以有效识别故障原因并及时解决连接问题。华纳云提供高性能的海外云服务器解决方案,安全快速的部署方案可满足用户不同需求,免安装费用多项热门系统可选,7*24*365h技术支持,提供一键式开机/重启/关机,可灵活扩展资源等,海外物理服务器可免费试用联系官网客服即可开通。