Docker【2】iptables 錯誤解決

iptables 錯誤解決

  • 問題說明
  • 問題分析
  • 解決步驟
    • 1. 確保 `iptables` 模塊已加載
    • 2. 檢查和重啟 `docker` 服務
    • 3. 檢查 `firewalld` 狀態
    • 4. 重置 `iptables` 規則
    • 5. 查看和更新 Docker 配置
  • 總結

問題說明

執行的 docker 命令如下,啟動 nginx 并設置宿主機端口 (8080) 與容器端口 (80) 的映射,出現了一個錯誤提示:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.

[root@localhost ~]# docker run -d -p 8080:80 --name ng nginxd3e86c9e5651c07167bf6a4f6eacaefa3f0d1734d03f993dd059575394712fab
docker: Error response from daemon: driver failed programming external connectivity on endpoint ng (67f87043e441fddd238cb9844f0eeeacdbf298b8c64b6c92e2319cde16ba6a1b):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.(exit status 1)).
[root@localhost ~]# 

問題分析

這個錯誤提示表明 Docker 在嘗試設置端口轉發時,遇到了 iptables 配置問題。具體錯誤信息顯示,iptables 試圖創建一條規則,但未能找到所需的鏈或目標。
這個問題可能與以下幾種情況有關:

  1. iptables 模塊缺失或未加載:某些系統默認情況下可能沒有加載 iptables 模塊。
  2. iptables 規則損壞:如果 iptables 規則集損壞或配置不正確,也可能會導致這個錯誤。
  3. 防火墻沖突:如果系統上運行了另一個防火墻管理工具(如 firewalld),可能會與 Docker 的 iptables 配置沖突。

解決步驟

前置說明
本次遇到問題,是因為 ip_tables 模塊未加載引起;手動加載了一下、并重啟 docker,問題得以解決。

1. 確保 iptables 模塊已加載

檢查 iptables 模塊是否已加載:

lsmod | grep ip_tables

如果沒有輸出,說明 iptables 模塊未加載,可以手動加載:

modprobe ip_tables

2. 檢查和重啟 docker 服務

有時候,重啟 docker 服務可以解決問題:

systemctl restart docker

3. 檢查 firewalld 狀態

如果系統上運行了 firewalld,嘗試臨時停止它以確定是否是它引起的問題:

# 停止防火墻
systemctl stop firewalld
# 禁用防火墻
systemctl disable firewalld.service 

然后再嘗試運行 Docker 容器。如果確認是 firewalld 的問題,可以通過 firewalld 配置來允許 Docker 管理 iptables 規則。

4. 重置 iptables 規則

如果 iptables 規則集可能損壞,可以嘗試重置它:

iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X

然后重啟 docker 服務:

systemctl restart docker

5. 查看和更新 Docker 配置

確保 Docker 使用的是正確的 iptables 配置。在 Docker 的配置文件(通常在 /etc/docker/daemon.json)中,確保包含以下設置:

{"iptables": true
}

如果進行了修改,重啟 Docker 服務以應用更改:

systemctl restart docker

總結

上述步驟涵蓋了大多數情況下可能導致 iptables 相關問題的原因及其解決方法。通過依次檢查和調整這些配置,你應該能夠解決 Docker 容器啟動時的端口轉發問題。如果問題仍然存在,請查看系統日志(如 /var/log/messagesdmesg)以獲得更多調試信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14576.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習Uni-app開發小程序Day25

這一章學習了觸底加載更多阻止無效的網絡請求、分類列表存入Storage在預覽頁面讀取緩存展示、通過swiper的事件實現真正的壁紙預覽及切換 觸底加載更多阻止無效的網絡請求、load-more樣式的展現 前面已經學習了當列表觸底后,會繼續加載,當到最后一層后…

自動化測試--利用pytest實現整條業務鏈路測試

? 概述 前面一章講解了單個接口的測試,但是實際項目中,因為權限和登錄狀態的限制,大部分接口沒辦法直接訪問到,這時候我們想訪問到一個系統的接口,就需要模擬用戶登錄拿到用戶的token和所擁有的權限之后再將這些信息…

vivado2020.2創建hls仿真工程實現led閃爍

下載vivado2020.2后會有這個出現在桌面 點擊進入創建工程,這里注意不要有前面的\我再復制的時候復制錯了導致創建失敗 按f光標就會跳轉到下一個f開頭的函數處,要查找其他函數也同理 生成了一個synthesis summary文件 找到目錄下生成的.v文件 an 點…

Pod進階——資源限制以及探針檢查

目錄 一、資源限制 1、資源限制定義: 2、資源限制request和limit資源約束 3、Pod和容器的資源請求和限制 4、官方文檔示例 5、CPU資源單位 6、內存資源單位 7、資源限制實例 ①編寫yaml資源配置清單 ②釋放內存(node節點,以node01為…

【知識蒸餾】多任務模型 logit-based 知識蒸餾實戰

一、什么是邏輯(logit)知識蒸餾 Feature-based蒸餾原理是知識蒸餾中的一種重要方法,其關鍵在于利用教師模型的隱藏層特征來指導學生模型的學習過程。這種蒸餾方式旨在使學生模型能夠學習到教師模型在特征提取和表示方面的能力,從…

有些錯誤,常犯常新、常新常犯:記錄一個使用element-plus的tooltip組件的錯誤

使用element-plus的tooltip組件&#xff0c;最開始的寫法是這樣的&#xff1a; <el-tooltipclass"box-item"effect"dark"content"tooltip content" ><el-button v-if"isDisabled" :underline"false" type"pr…

持續總結中!2024年面試必問 20 道 Redis面試題(五)

上一篇地址&#xff1a;持續總結中&#xff01;2024年面試必問 20 道 Redis面試題&#xff08;四&#xff09;-CSDN博客 九、Redis的同步機制了解么&#xff1f; Redis 的同步機制是其復制策略的核心部分&#xff0c;確保數據在主節點&#xff08;master&#xff09;和從節點…

【C語言】程序員自我修養之文件操作

【C語言】程序員自我修養之文件操作 &#x1f525;個人主頁&#xff1a;大白的編程日記 &#x1f525;專欄&#xff1a;C語言學習之路 文章目錄 【C語言】程序員自我修養之文件操作前言一.文件介紹1.1為什么使用文件1.2文件分類1.3二進制文件和文本文件 二.文件的打開和關閉2.…

桌面藏線大法

1有線改無線&#xff1a; 藍牙鼠標 藍牙鍵盤 藍牙耳機 2將排插貼到桌子底下 購物軟件上搜 3斷舍離 不要的電子產品統統扔掉 4 洞洞板和掛鉤 這個不用介紹了

爬蟲基本原理及requests庫用法

文章目錄 一、爬蟲基本原理1、什么是爬蟲2、爬蟲的分類3、網址的構成4、爬蟲的基本步驟5、動態【異步】頁面和靜態【同步】頁面6、請求頭 二、requests基本原理及使用1、chrome 抓包按鈕詳解1.1 Elements1.2 元素定位器1.3 Network1.4 All1.5 XHR1.6 Preserve log1.7 手機模式1…

暴雨信息液冷計算解決方案亮相CCIG 2024

5月24日&#xff0c;2024中國圖象圖形大會&#xff08;CCIG&#xff09;在陜西西安正式開幕。作為涵蓋圖像圖形各專業領域的綜合性的全國性學術會議&#xff0c;CCIG面向開放創新、交叉融合的發展趨勢&#xff0c;為圖像圖形相關領域的專家學者和產業界的同仁&#xff0c;搭建了…

Java+Spring+ MySQL + MyCat云HIS有哪些優勢?智慧醫療云(HIS)低成本與安全保障的完美結合

JavaSpring MySQL MyCat云HIS有哪些優勢&#xff1f;智慧醫療云(HIS)低成本與安全保障的完美結合 云HIS的優點包括節省成本、便捷高效、穩妥安全等。通過云HIS&#xff0c;醫療機構無需在本地建立機房、購買服務器和應用軟件&#xff0c;降低了硬件和人力成本。同時&#xff0…

虛擬化介紹

虛擬化介紹 概述概念特點優勢實現手段 虛擬化架構概述寄居虛擬化架構裸金屬虛擬化架構操作系統虛擬化架構混合虛擬化架構幾種虛擬化架構的比較虛擬化架構與虛擬化技術的關系 虛擬化技術分類服務器虛擬化技術分類 存儲虛擬化技術分類網絡虛擬化技術分類 服務器虛擬化技術處理器虛…

開源軟件 | 一文徹底搞懂許可證的定義、起源、分類及八大主流許可證,讓你選型不再頭疼

為什么開源軟件會存在許可證&#xff0c;許可證的起源與產生目的是為了解決什么問題&#xff1f;許可證的定義又是怎樣的&#xff1f;什么是Copyleft&#xff0c;與Copyright有何區別&#xff1f;開源軟件常見的許可證有哪些&#xff1f;這些許可證都有什么特點&#xff1f;接下…

[c++] 小游戲 能量1.0.1 版本 zty出品

大家好 緊急修改&#xff0c;發現判斷游戲是否結束部分有問題&#xff0c;緊急修改bug&#xff0c;對大家造成的不便我深感歉意&#xff0c;對不起 先贊后看 養成習慣 code&#xff1a; #include<bits/stdc.h> #include<windows.h> using namespace std; int rg…

Zabbix實現7x24小時架構監控

上篇&#xff1a;https://blog.csdn.net/Lzcsfg/article/details/138774511 文章目錄 Zabbix功能介紹Zabbix平臺選擇安裝Zabbix監控端部署MySQL數據庫Zabbix參數介紹登錄Zabbix WEBWEB界面概覽修改WEB界面語言添加被控主機導入監控模板主機綁定模板查看主機狀態查看監控數據解…

6.封裝讀寫游戲數據的功能

前置知識&#xff1a;5.模仿CheatEngine實現鎖血無敵功能&#xff08;封裝它的代碼&#xff09; 封裝功能.cpp文件 #include "封裝功能.h"GAMECheat::GAMECheat(unsigned pid, unsigned _baseAdr, unsigned _readTime) {readTime _readTime;baseAdr _baseAdr;hPr…

代碼隨想錄算法訓練營第三十四天 | 理論基礎、455.分發餅干、376、擺動序列、53.最大子序和

目錄 理論基礎 455.分發餅干 思路 代碼 376.擺動序列 思路 代碼 53.最大子序和 思路 代碼 理論基礎 代碼隨想錄 455.分發餅干 代碼隨想錄 思路 可以是大餅干優先滿足大胃口&#xff0c;也可以是小餅干優先滿足小胃口。 代碼 class Solution:def findContentChildre…

ArkUI-X開發指南:【SDK配置和構建說明】

ArkUI-X SDK配置和構建說明 ArkUI-X SDK是ArkUI-X開源項目的編譯產物&#xff0c;可將ArkUI-X SDK集成到現有Android和iOS應用工程中&#xff0c;使開發者基于一套ArkTS主代碼&#xff0c;就可以構建支持多平臺的精美、高性能應用。SDK內容包含ArkUI跨平臺運行時&#xff0c;組…

安裝SSL證書能提高網站訪客嗎?

在當今互聯網時代&#xff0c;網站的安全性和用戶體驗至關重要。隨著網絡攻擊和數據泄露事件的不斷增加&#xff0c;用戶對網站的信任也變得越來越重要。SSL證書是一種數字證書&#xff0c;可以在Web服務器和網頁瀏覽器之間建立加密鏈接&#xff0c;確保網站傳輸的數據安全&…