云計算核心技術Docker教程:容器訪問控制

發(fā)布時間:2024-04-07
容器的訪問控制,主要通過 linux 上的 iptables 防火墻來進行管理和實現(xiàn)。iptables 是 linux 上默認的防火墻軟件,在大部分發(fā)行版中都自帶。
容器訪問外部網(wǎng)絡
容器要想訪問外部網(wǎng)絡,需要本地系統(tǒng)的轉發(fā)支持。在linux 系統(tǒng)中,檢查轉發(fā)是否打開。
$sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
如果為 0,說明沒有開啟轉發(fā),則需要手動打開。
$sysctl -w net.ipv4.ip_forward=1
如果在啟動 docker 服務的時候設定 –ip-forward=true, docker 就會自動設定系統(tǒng)的 ip_forward 參數(shù)為 1。
容器之間訪問
容器之間相互訪問,需要兩方面的支持。
容器的網(wǎng)絡拓撲是否已經(jīng)互聯(lián)。默認情況下,所有容器都會被連接到 docker0 網(wǎng)橋上。
本地系統(tǒng)的防火墻軟件 — iptables 是否允許通過。
訪問所有端口
當啟動 docker 服務時候,默認會添加一條轉發(fā)策略到 iptables 的 forward 鏈上。策略為通過(accept)還是禁止(drop)取決于配置–icc=true(缺省值)還是 –icc=false。當然,如果手動指定 –iptables=false 則不會添加 iptables 規(guī)則。
可見,默認情況下,不同容器之間是允許網(wǎng)絡互通的。如果為了安全考慮,可以在 /etc/default/docker 文件中配置 docker_opts=–icc=false 來禁止它。
訪問指定端口
在通過 -icc=false 關閉網(wǎng)絡訪問后,還可以通過 –link=container_name:alias 選項來訪問容器的開放端口。
例如,在啟動 docker 服務時,可以同時使用 icc=false –iptables=true 參數(shù)來關閉允許相互的網(wǎng)絡訪問,并讓docker 可以修改系統(tǒng)中的 iptables 規(guī)則。
之后,啟動容器(docker run)時使用 –link=container_name:alias 選項,docker 會在 iptable 中為 兩個容器分別添加一條 accept 規(guī)則,允許相互訪問開放的端口(取決于 dockerfile 中的 expose 行)。
上一個:win11 安全中心打不開(window11安全中心)
下一個:礦用隔爆型干式變壓器產(chǎn)生噪聲的原因有哪些?

硬盤哪個牌子質(zhì)量好,硬盤座哪個牌子好
如何選擇適合的氮氣體發(fā)生器容量?
蜜李標準化栽培技術如何掌握 專家集中給大家補補課
歷史上的普洱茶外銷路線
網(wǎng)游手游排行榜(網(wǎng)絡手游排行榜2020前十名)
關于茶具與泡茶藝術的介紹
手持式測溫儀 型號:DPPT-305
如何讓手機變電腦(怎么能讓自己的手機變成電腦的界面)
防爆行燈變壓器:安全性與可靠性的結合
300295英德諾曼濾芯的更換方法
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos