1. 程式人生 > >【docker】docker啟動、重啟、關閉命令,附帶:docker啟動容器報錯:docker: Error response from daemon: driver failed programming external connectivity on endpoint es2-node

【docker】docker啟動、重啟、關閉命令,附帶:docker啟動容器報錯:docker: Error response from daemon: driver failed programming external connectivity on endpoint es2-node

在關閉並放置centos 的防火牆重啟之後【操作:https://www.cnblogs.com/sxdcgaq8080/p/10032829.html

啟動docker容器就發現開始報錯:

[[email protected] elasticSearch]# docker run -d --name es2-node -p 9201:9200 -p 9301:9300 --restart=always -v /apps/elasticSearch/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /apps/elasticSearch/es2_data:/usr/share/elasticsearch/data elasticsearch:5.6.9
a357eb4b695a6fec33f2093267bfe0015acb35fbb81688dd336ed30336e8bd9f
docker: Error response from daemon: driver failed programming external connectivity on endpoint es2-node (38cbd7b4a49c5f32f6ac8f0bf4a4bdf158e50e728b12ba5bbe801f741fc78003):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9301 -j DNAT --to-destination 172.17.0.2:9300 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1)).

但是 實際上並沒有衝突的容器存在。

 

實際原因:

docker服務啟動時定義的自定義鏈DOCKER由於某種原因被清掉
重啟docker服務及可重新生成自定義鏈DOCKER

 

解決方法:

啟動            systemctl start docker
守護程序重啟      sudo systemctl daemon-reload
重啟docker服務    systemctl restart  docker
重啟docker服務    sudo service docker restart
關閉docker       service docker stop   
關閉docker       systemctl stop docker