370.【Docker】 Error response from daemon: driver failed programming external connectivity on endpoint

今天讓將服務(wù)器做了 raid 磁盤整列中一塊壞了的硬盤給換了下來,因?yàn)椴恢С譄岵灏危跃椭貑⒘讼路?wù)器,結(jié)果:docker 安裝 jenkins 是邊出問題了。報(bào)錯(cuò)信息如下:

[root@qijing0 jenkins]# docker run -d -v jenkins_home:/home/data/jenkins -p 8080:8080 -p 50000:50000 -v  --restart=on-failure jenkins/jenkins:lts-jdk11
9680f33ac025f908eb6fd46018605c8863eccb66015bb3245327ea2a1dacf112
docker: Error response from daemon: driver failed programming external connectivity on endpoint frosty_bell (e1c3e0f5f896351def879cbb29f725d4d598380c97c95d893fda970b32044833):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 50000 -j DNAT --to-destination 172.17.0.3:50000 ! -i docker0: iptables: No chain/target/match by that name.
報(bào)錯(cuò)

這個(gè)報(bào)錯(cuò)其實(shí)是因?yàn)椋谖覀儐?dòng)了 docker 后,對(duì)防火墻進(jìn)行了操作導(dǎo)致的(我執(zhí)行的操作是:systemctl stop firewalld)。
上面是表面原因,實(shí)質(zhì)上是因?yàn)椋?strong>docker 服務(wù)啟動(dòng)時(shí)定義的自定義連 DOCKER,當(dāng) centos7 firewalld 被清掉時(shí),firewalld 啟動(dòng)或者重啟額時(shí)候,將會(huì)從 iptables 中溢出 DOCKER 的規(guī)則,從而影響了 docker 的正常工作。當(dāng)我們使用的是 systemd 配置docker 的時(shí)候,firewalld 會(huì)在 docker 之前啟動(dòng),但是如果你在 docker 啟動(dòng)之后操作 firewalld,你就需要重啟 docker 進(jìn)程了。

解決辦法:

systemctl restart docker

可以了

重啟docker服務(wù)并重新生成自定義鏈DOCKER。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容