最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker容器內(nèi)部無法訪問外網(wǎng)原因以及解決辦法

 更新時間:2023年06月25日 08:48:00   作者:-小末  
最近在工作時遇到一個問題,這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于Docker容器內(nèi)部無法訪問外網(wǎng)原因以及解決辦法,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下

問題描述

部署了一個Docker環(huán)境,宿主機(jī)可以訪問Internet,啟動了一個容器發(fā)現(xiàn)容器里的服務(wù)無法訪問Internet,Docker網(wǎng)絡(luò)使用的是橋接(bridge)模式。

問題分析

使用Docker橋接模式啟動的容器,宿主機(jī)如果可以訪問外網(wǎng),按理來說Docker容器本身也可以訪問外網(wǎng)的。其原理:容器網(wǎng)卡與宿主機(jī)的docker0網(wǎng)橋互聯(lián),在通過nat的轉(zhuǎn)換,通過宿主機(jī)的網(wǎng)卡,連接到外網(wǎng)。那可以初步判斷容器內(nèi)部訪問不了外網(wǎng),可能是某些配置的原因。

問題解決

檢查docker bridge網(wǎng)絡(luò)配置:

# docker network inspect bridge 
[
    {
        "Name": "bridge",
        "Id": "52d99eec11c4706581e4b8235613d5258ef2c318557baddbb79766136d7b0868",
        "Created": "2022-10-22T19:31:19.358514137+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "false",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

發(fā)現(xiàn):com.docker.network.bridge.enable_ip_masquerade值為false,代表是否開啟IP偽裝,false代表未開啟。

查看docker服務(wù)啟動命令:

#ps -ef|grep dockerd
root     15273     1  6 11:35 ?        00:14:25 /usr/bin/dockerd --iptables=false --exec-opt native.cgroupdriver=systemd --data-root=/var/lib/docker --log-opt max-size=50m --log-opt max-file=5

發(fā)現(xiàn)參數(shù):--iptables=false,查閱docker官網(wǎng):

 大概意思是否禁止docker進(jìn)程添加iptables規(guī)則,false代表禁止,禁止后即使開啟IP偽裝也不生效??梢圆碌骄褪沁@個參數(shù)搞的問題。

Docker服務(wù)是yum install部署的,可能有些參數(shù)讀取的一些預(yù)先定義的包環(huán)境變量里。

讓我們將--iptables改為true,最簡單的方式就是覆蓋原啟動命令中的參數(shù),在docker啟動命令最后添加--iptables=true:

# vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target  containerd.service
BindsTo=containerd.service
[Service]
Type=notify
Environment=GOTRACEBACK=crash
ExecReload=/bin/kill -s HUP $MAINPID
Delegate=yes
KillMode=process
ExecStart=/usr/bin/dockerd \
          $DOCKER_OPTS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_DNS_OPTIONS \
          --ip-masq=true \
          --iptables=true
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=1min
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

然后重啟docker進(jìn)程: 

# systemctl daemon-reload
# systemctl restart docker

然后發(fā)現(xiàn),容器內(nèi)部可以訪問外網(wǎng)了~~~

參考資料:dockerd | Docker Documentation

---------------------------------------------------------------------------------------------------

查閱官網(wǎng)發(fā)現(xiàn):iptables默認(rèn)值是true的,應(yīng)該是yum源下載的包里啟動命令加了這個參數(shù)而且改成了false,這也是導(dǎo)致容器內(nèi)部無法訪問外網(wǎng)的原因之一。

總結(jié)

到此這篇關(guān)于Docker容器內(nèi)部無法訪問外網(wǎng)原因以及解決辦法的文章就介紹到這了,更多相關(guān)Docker容器內(nèi)部無法訪問外網(wǎng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ubuntu系統(tǒng)中無法拉取docker鏡像的問題及解決

    ubuntu系統(tǒng)中無法拉取docker鏡像的問題及解決

    作者遇到的docker拉取mysql8.0鏡像失敗的問題,通過更換鏡像加速器、更新配置、診斷DNS解析問題等步驟,最終成功使用DaoCloud鏡像站拉取鏡像,作者分享了解決問題的過程和經(jīng)驗,對遇到類似問題的人會有幫助
    2026-04-04
  • Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南

    Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南

    Docker 是一個開源的應(yīng)用容器引擎,允許開發(fā)者將應(yīng)用及其依賴打包在一個輕量級、可移植的容器中,實現(xiàn)快速部署和運行,本文給大家詳細(xì)介紹了Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南,需要的朋友可以參考下
    2025-07-07
  • docker搭建本地私有倉庫的實現(xiàn)

    docker搭建本地私有倉庫的實現(xiàn)

    有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下用戶可以使用registry創(chuàng)建一個本地倉庫供私人使用,本文主要介紹了docker搭建本地私有倉庫的實現(xiàn),感興趣的可以了解一下
    2023-12-12
  • Docker容器連接實現(xiàn)步驟解析

    Docker容器連接實現(xiàn)步驟解析

    這篇文章主要介紹了Docker容器連接實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 淺談Docker安全機(jī)制內(nèi)核安全與容器之間的網(wǎng)絡(luò)安全

    淺談Docker安全機(jī)制內(nèi)核安全與容器之間的網(wǎng)絡(luò)安全

    這篇文章主要介紹了Docker安全機(jī)制內(nèi)核安全與容器之間的網(wǎng)絡(luò)安全,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • Docker中的images存儲路徑修改

    Docker中的images存儲路徑修改

    這篇文章主要介紹了Docker中的images存儲路徑修改方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker數(shù)據(jù)卷常用操作代碼實例

    Docker數(shù)據(jù)卷常用操作代碼實例

    這篇文章主要介紹了Docker數(shù)據(jù)卷常用操作代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • 如何封裝自定義Docker鏡像

    如何封裝自定義Docker鏡像

    這篇文章主要介紹了如何封裝自定義Docker鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 使用Docker構(gòu)建多環(huán)境應(yīng)用的完整指南

    使用Docker構(gòu)建多環(huán)境應(yīng)用的完整指南

    Docker已經(jīng)成為了現(xiàn)代應(yīng)用程序開發(fā)和部署的核心工具之一,本文將介紹如何使用Docker構(gòu)建多環(huán)境應(yīng)用,包括開發(fā)、測試和生產(chǎn)環(huán)境,希望對大家有所幫助
    2025-08-08
  • Spring Boot 打包上傳Docker 倉庫的詳細(xì)步驟

    Spring Boot 打包上傳Docker 倉庫的詳細(xì)步驟

    這篇文章主要介紹了Spring Boot 打包上傳Docker 倉庫的詳細(xì)步驟,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08

最新評論

大方县| 利辛县| 汉中市| 射阳县| 罗源县| 县级市| 克拉玛依市| 禄丰县| 宜宾市| 长宁县| 蓝山县| 新昌县| 龙江县| 汽车| 衡水市| 平果县| 越西县| 凤凰县| 山东省| 安远县| 连江县| 南郑县| 中牟县| 水富县| 微山县| 梨树县| 永年县| 垣曲县| 阳江市| 蚌埠市| 延川县| 宁都县| 西乡县| 务川| 宁远县| 昌图县| 剑河县| 政和县| 工布江达县| 永川市| 竹北市|