色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

docker會重置防火墻(openwrt docker 防火墻)

呂致盈2年前9瀏覽0評論

最近在使用Docker的時候,發現Docker容器內部無法訪問外部網絡。經過一番排查,發現是因為Docker會重置宿主機的防火墻規則,導致容器內部無法訪問外部網絡。本文將簡要介紹Docker會重置防火墻的原因和解決方案。

在啟動Docker容器時,Docker會給容器分配一個獨立的網絡命名空間,同時也會將容器配置為與宿主機共享網絡設備。然而,Docker會默認讓容器使用寬松的iptables規則,這些規則會重置宿主機的防火墻規則,導致容器內部無法訪問外部網絡。

# docker0是Docker創建的橋接網絡
-A DOCKER -d 172.17.0.1/16 ! -i docker0 -o docker0 -p tcp -j DROP
-A DOCKER -d 172.17.0.1/16 ! -i docker0 -o docker0 -p udp -j DROP

以上規則會阻止所有進入或離開容器的流量,除非經過Docker的NAT表。這意味著如果宿主機上已有的防火墻規則不允許容器的流量通過,那么容器就無法與宿主機外的網絡通信。

解決方案:在宿主機上添加防火墻規則,允許Docker容器的流量通過。

# 允許Docker容器發送流量
iptables -I DOCKER-USER -i docker0 -j ACCEPT
# 允許Docker容器接收流量
iptables -I DOCKER-USER -o docker0 -j ACCEPT

以上代碼將在宿主機上添加2個規則,允許Docker容器發送和接收流量。在宿主機上添加這些規則后,Docker容器就可以正常訪問外部網絡了。

總之,Docker會重置宿主機的防火墻規則,因此在使用Docker時,需要在宿主機上添加適當的防火墻規則,以確保Docker容器可以正常訪問外部網絡。