首页 > 数据库 >解决Docker容器 iptables问题---docker: Error response from daemon: driver failed programming external conne

解决Docker容器 iptables问题---docker: Error response from daemon: driver failed programming external conne

时间:2022-08-19 11:23:25浏览次数:78  
标签:iptables daemon endpoint test docker0 mysql 3306 docker

一、问题如下

[root@echohye app]# docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
5ae9dc1c7bf16762e7064a5f3ab0396b1f5ba3a23e64997939730f27aa11eebb
docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql-test (b428e451446b6b6bd1be1ea58ca6f66b632680b0756d6fe9c9411099c03dff5b):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name.

二、解决办法

经过查阅资料得知是docker0网桥的原因,解决上面报错问题需要进行一下步骤

1.kill掉docker所有进程

pkill docker 

2.清空nat表的所有链

iptables -t nat -F

3.停止docker默认网桥docker0

ifconfig docker0 down

4.删除docker0网桥

brctl delbr docker0

5.重启docker服务

systemctl restart docker

6.重新运行最初指令

[root@echohye /]# docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
7097016ef0b1c57b6db110dff96b179f8989427c55b1501c36c1c1fb425ba5ce

[root@echohye /]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS       NAMES
7097016ef0b1   mysql:5.7   "docker-entrypoint.s…"   4 minutes ago   Up 4 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql-test

标签:iptables,daemon,endpoint,test,docker0,mysql,3306,docker
From: https://www.cnblogs.com/echohye/p/16601396.html

相关文章