错误信息:
ime="2023-11-09T11:58:47Z" level=error msg="Error response from daemon: driver failed programming external connectivity on endpoint one-api (a47175427d8591139a54d74e4f26b98a8b710a5dea757703befdcaf6817089bd): (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport 3000 -j ACCEPT: iptables v1.8.2 (nf_tables): Chain 'DOCKER' does not exist\n (exit status 1))"
这个错误表示在创建one-api 容器时出现了问题。
具体地说,它指示 Docker 守护程序在容器的网络连接设置过程中遇到了问题。错误消息中提到了 iptables,它是一个用于配置 Linux 内核防火墙规则的工具。
错误消息中的一部分是 "Chain 'DOCKER' does not exist",这表明 Docker 防火墙规则链 "DOCKER" 不存在。这可能是由于 Docker 防火墙规则未正确设置或未加载所致。
解决办法:
-
检查 Docker 防火墙规则是否正确设置。可以使用以下命令检查:
sudo iptables -L -n
如果 "DOCKER" 链不存在,那么需要重新配置 Docker 防火墙规则。
-
重新加载 Docker 防火墙规则。可以使用以下命令重新加载 Docker 防火墙规则:
sudo systemctl restart docker
这将重新加载 Docker,并重新配置防火墙规则。
-
如果上述步骤无效,您可以尝试升级 Docker 版本或重新安装 Docker。
其实我用的是步骤2就解决了。