个人收集的一些Docker的问题
Docker服务重启
1 | ### 查看docker运行状态的方法: |
Docker 启动时报错:iptables:No chain/target/match by the name
问题
django的docker containner启动失败,报错:
failed programming external connectivity … iptables: No chain/target/match by that name
解决
百度了好多,有说没有iptables的mod的,等等,直觉搞得有点复杂,不是解决问题之法,因为之前是好用的,之前就没有这个模块,所以判定不是这类问题
最终:bing上搜索到一篇英文,完美又简单解决了问题,现翻译如下,具体其他需要深入了解的深层概念,待有时间再行添加
正文:
docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信
通过命令iptables -L可以查看iptables 链1
iptables -L
在开发环境中,如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报iptables error例如:failed programming external connectivity … iptables: No chain/target/match by that name
要解决这个问题,只要重启docker服务,之后,正确的iptables规则就会被创建出来