Docker 问题收集

个人收集的一些Docker的问题

Docker服务重启

1
2
3
4
5
### 查看docker运行状态的方法:
sudo service docker status

### 打开/关闭/重启docker服务:
sudo service docker start/stop/restart

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规则就会被创建出来

引用链接