Docker中iptables規(guī)則在iptables重啟后丟失的完整過(guò)程
前因后果
1、在跳板機(jī)上使用ansible命令測(cè)試機(jī)器B時(shí),報(bào)錯(cuò)如下,于是就懷疑是網(wǎng)絡(luò)防火墻的問(wèn)題
10.10.0.86 | FAILED >> {
"failed": true,
"msg": "/bin/sh: /usr/bin/python: No such file or directory\r\nOpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 19: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: mux_client_request_session: master session id: 2\r\nShared connection to 10.10.0.86 closed.\r\n",
"parsed": false
}
2、登錄到機(jī)器B上,這是一臺(tái)線(xiàn)上的機(jī)器,里面運(yùn)行docker容器,然后我看平時(shí)的經(jīng)驗(yàn)一般是網(wǎng)絡(luò)防火墻有問(wèn)題就直接
iptables -F systemctl stop iptables systemctl stop firewalld
3、然后我想著這應(yīng)該不會(huì)影響容器吧,就看容器的日志,沒(méi)想到10幾個(gè)全部報(bào)錯(cuò),都是連接不上,有點(diǎn)慌...,重啟容器,完全是起不來(lái)的,報(bào)錯(cuò)如下
docker: Error response from daemon: driver failed programming external connectivity on endpoint happy_ptolemy (9cedc114be35eb86cd6f7f7bb4f11f93b5f8d2c0745afc72664cef8e96aad439): iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 10.10.0.86 --dport 3000 -j ACCEPT: iptables: No chain/target/match by that name. (exit status 1).
4、解決辦法,重啟docker
systemctl restart docker
知識(shí)點(diǎn)
1、netfilter與iptables的關(guān)系
Netfilter是在Linux內(nèi)核中的一個(gè)防火墻框架,用于管理網(wǎng)絡(luò)數(shù)據(jù)包,不僅具有網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的功能,也具有數(shù)據(jù)包內(nèi)容修改,以及數(shù)據(jù)包過(guò)濾等防火墻功能。利用在用戶(hù)空間的應(yīng)用軟件iptables等來(lái)控制Netfilter(iptables只是應(yīng)用軟件,工具)。

2、iptables與firewalld的關(guān)系
firewalld和iptables一樣都是應(yīng)用軟件,是工具,但是他的底層還是先通過(guò)iptables。
3、docker與firewalld、iptables的關(guān)系
1)docker安裝完成后,會(huì)自動(dòng)接管iptables或者firewalld,在docker run的時(shí)候,會(huì)自動(dòng)往iptables里加入規(guī)則;所以當(dāng)iptables重啟后會(huì)丟失,只有再重啟docker就好了的原因。
2)當(dāng)使用Systemd 的時(shí)候, firewalld 會(huì)在 Docker 之前啟動(dòng),但是如果你在 Docker 啟動(dòng)之后再啟動(dòng) 或者重啟 firewalld ,就需要重啟 Docker 進(jìn)程了。
總結(jié)
1、對(duì)生產(chǎn)環(huán)境的敬畏
2、對(duì)知識(shí)點(diǎn)的理解不透徹,不知道什么場(chǎng)景能用,什么場(chǎng)景不能用
3、后面還需要把防火墻的規(guī)則再深入了解
到此這篇關(guān)于Docker中iptables規(guī)則在iptables重啟后丟失的文章就介紹到這了,更多相關(guān)Docker中iptables規(guī)則重啟后丟失內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問(wèn)題
- 在Docker容器中使用iptables時(shí)的最小權(quán)限的開(kāi)啟方法
- 詳解Docker使用Linux iptables 和 Interfaces管理容器網(wǎng)絡(luò)
- Docker與iptables及實(shí)現(xiàn)bridge方式網(wǎng)絡(luò)隔離與通信操作
- iptables使用及docker的iptables規(guī)則
- iptables如何限制宿主機(jī)跟Docker IP和端口訪問(wèn)(安全整改)
- docker的iptables策略詳解和用戶(hù)自定義策略的添加方式
- Docker iptables的錯(cuò)誤解決
- docker的WARNING:bridge-nf-call-iptables is disabled的解決方案
- 基于iptables的Docker端口白名單控制實(shí)現(xiàn)
相關(guān)文章
centos搭建部署docker環(huán)境的詳細(xì)步驟
Docker 將程序與程序的運(yùn)行環(huán)境打包在一起,從而避免了復(fù)雜的環(huán)境配置,下面這篇文章主要給大家介紹了關(guān)于centos搭建部署docker環(huán)境的詳細(xì)步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
win7環(huán)境下Docker快速構(gòu)建及阿里云容器加速配置詳解
這篇文章主要介紹了win7環(huán)境下Docker快速構(gòu)建及阿里云容器加速配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Docker快速搭建PHP+Nginx+Mysql環(huán)境及踩坑
本文主要介紹了Docker快速搭建PHP+Nginx+Mysql環(huán)境及踩坑 ,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
docker安裝ElasticSearch:7.8.0集群的詳細(xì)教程
這篇文章主要介紹了docker安裝ElasticSearch:7.8.0集群的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Docker compose安裝部署創(chuàng)建自定義網(wǎng)絡(luò)使用舉例
這篇文章主要為大家介紹了Docker compose安裝部署創(chuàng)建自定義網(wǎng)絡(luò)使用舉例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Docker搭建Harbor公開(kāi)倉(cāng)庫(kù)的方法示例
這篇文章主要介紹了Docker搭建Harbor公開(kāi)倉(cāng)庫(kù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
刪除所有本地Docker鏡像的實(shí)現(xiàn)方法
在使用Docker進(jìn)行開(kāi)發(fā)和測(cè)試過(guò)程中,隨著時(shí)間的推移,本地會(huì)積累大量不再需要的Docker鏡像和容器,這些冗余的鏡像和容器會(huì)占用大量磁盤(pán)空間,影響系統(tǒng)性能,因此需要?jiǎng)h除,所以本文給大家介紹了刪除所有本地Docker鏡像的實(shí)現(xiàn)方法,需要的朋友可以參考下2025-06-06

