Docker中iptables規(guī)則在iptables重啟后丟失的完整過程
前因后果
1、在跳板機上使用ansible命令測試機器B時,報錯如下,于是就懷疑是網絡防火墻的問題
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、登錄到機器B上,這是一臺線上的機器,里面運行docker容器,然后我看平時的經驗一般是網絡防火墻有問題就直接
iptables -F systemctl stop iptables systemctl stop firewalld
3、然后我想著這應該不會影響容器吧,就看容器的日志,沒想到10幾個全部報錯,都是連接不上,有點慌...,重啟容器,完全是起不來的,報錯如下
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
知識點
1、netfilter與iptables的關系
Netfilter是在Linux內核中的一個防火墻框架,用于管理網絡數(shù)據包,不僅具有網絡地址轉換(NAT)的功能,也具有數(shù)據包內容修改,以及數(shù)據包過濾等防火墻功能。利用在用戶空間的應用軟件iptables等來控制Netfilter(iptables只是應用軟件,工具)。
2、iptables與firewalld的關系
firewalld和iptables一樣都是應用軟件,是工具,但是他的底層還是先通過iptables。
3、docker與firewalld、iptables的關系
1)docker安裝完成后,會自動接管iptables或者firewalld,在docker run的時候,會自動往iptables里加入規(guī)則;所以當iptables重啟后會丟失,只有再重啟docker就好了的原因。
2)當使用Systemd 的時候, firewalld 會在 Docker 之前啟動,但是如果你在 Docker 啟動之后再啟動 或者重啟 firewalld ,就需要重啟 Docker 進程了。
總結
1、對生產環(huán)境的敬畏
2、對知識點的理解不透徹,不知道什么場景能用,什么場景不能用
3、后面還需要把防火墻的規(guī)則再深入了解
到此這篇關于Docker中iptables規(guī)則在iptables重啟后丟失的文章就介紹到這了,更多相關Docker中iptables規(guī)則重啟后丟失內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- docker的iptables策略詳解和用戶自定義策略的添加方式
- Docker iptables的錯誤解決
- docker的WARNING:bridge-nf-call-iptables is disabled的解決方案
- iptables使用及docker的iptables規(guī)則
- 解決docker安裝完成報:bridge-nf-call-iptables is disabled問題
- Docker與iptables及實現(xiàn)bridge方式網絡隔離與通信操作
- 詳解Docker使用Linux iptables 和 Interfaces管理容器網絡
- 在Docker容器中使用iptables時的最小權限的開啟方法
- iptables如何限制宿主機跟Docker IP和端口訪問(安全整改)
相關文章
Docker Compose在不同環(huán)境的多種安裝方式
這篇文章主要介紹了Docker Compose在不同環(huán)境的多種安裝方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10Docker部署springboot項目到騰訊云的實現(xiàn)步驟
本文主要介紹了Docker部署springboot項目到騰訊云的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04docker部署項目/var/lib/docker/overlay2目錄滿了該如何清理
Docker中的/var/lib/docker/overlay2目錄是用于存儲Docker容器的數(shù)據層和鏡像層的,使用Docker一段時間后這個目錄可能會變得非常大,這篇文章主要給大家介紹了關于docker部署項目/var/lib/docker/overlay2目錄滿了該如何清理的相關資料,需要的朋友可以參考下2024-04-04