欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker容器網(wǎng)絡基礎概述

 更新時間:2023年09月26日 11:39:18   作者:Mr_csc  
這篇文章主要介紹了Docker容器網(wǎng)絡基礎概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

開放容器端口

當使用docker create或者docker run創(chuàng)建并運行一個容器的時候,默認不會開放容器端口。

可以使用--publish或者-p選項來開放容器的端口,這時Docker就會創(chuàng)建一條防火墻規(guī)則,將宿主機的端口和容器的端口關聯(lián)起來,宿主機的這個端口接收和發(fā)出的所有數(shù)據(jù)都會被轉(zhuǎn)發(fā)到容器的端口中,這樣的話外界或者宿主機上的其他容器和進程就可以通過宿主機的端口訪問容器的端口。

將容器的端口開放其實是一種不安全的行為,如果只是想讓同一臺宿主機之間的容器可以通過網(wǎng)絡相互通信的話,不需要開放它們的端口,只需要借助Docker網(wǎng)絡(Docker Network)即可。

Docker網(wǎng)絡(Docker Network)

Docker可以創(chuàng)建各種類型的虛擬網(wǎng)絡,例如可以是bridge網(wǎng)絡,也可以是overlay網(wǎng)絡等等。
可以通過docker network創(chuàng)建、查看當前宿主機上的Docker Network,讓一個容器加入Docker Network等等。
一個容器可以加入多個Docker Network。

容器在Docker網(wǎng)絡中的IP地址和hostname

默認情況下,當一個容器加入了一個Docker Network之后,Docker會自動分配給這個容器一個IP地址。也可以在容器加入Docker Network的時候,指定一個ip地址給它。
容器的hostname默認是該容器的ID。也可以在容器加入Docker Network的時候指定一個hostname給它。

DNS服務

默認情況下,Docker會通過bind mount的方式把宿主機的\etc\resolv.conf掛載到每一個容器中去。因此,每一個容器的DNS配置都和宿主機的是一樣的。

如果容器加入的是用戶通過docker network create創(chuàng)建出來的自定義網(wǎng)絡,那么容器將會使用的Docker內(nèi)置的DNS服務器,內(nèi)置的DNS服務器將會把外部IP地址的查找轉(zhuǎn)發(fā)給宿主機上配置的DNS服務器。

也可以在docker create或者docker run的時候指定容器的DNS配置。

需要注意的是:容器并不會共享宿主機上的\etc\hosts文件,可以在運行docker run時指定要加入容器的\etc\hosts文件中的內(nèi)容。

Docker Network Drivers

Docker支持以下不同類型的Docker Network:

Network DriverDescript
bridge使用docker network create創(chuàng)建網(wǎng)絡時創(chuàng)建出來的默認網(wǎng)絡類型。當同一臺宿主機上的多個容器之間需要相互通信的時候,通常會使用這種網(wǎng)絡。在這種網(wǎng)絡中的容器無法和宿主機以及別的網(wǎng)絡的容器進行通信
host將宿主機和容器之間相連接的網(wǎng)絡類型,容器可以直接使用宿主機的網(wǎng)絡
overlay將多個Docker daemon連接在一起,允許Swarm服務和容器跨節(jié)點(主機)進行網(wǎng)絡通信
ipvlan這種網(wǎng)絡允許用戶對IPv4和IPv6的尋址有著完全的控制
macvlan允許將一個MAC地址分配給容器,Docker daemon會根據(jù)容器的MAC地址對數(shù)據(jù)進行路由。一般來說這種類型的網(wǎng)絡用于部署那些古老的遺留應用程序,這些程序面向的是物理網(wǎng)絡開發(fā),而不是網(wǎng)絡協(xié)議棧
none將一個容器和宿主機以及其他容器完全隔離開來的網(wǎng)絡類型,這種網(wǎng)絡在Swarm服務中不可使用

代理服務器

可以給Docker Client或者Docekr Daemon設置代理服務器(proxy server)。

包過濾

當把某一個容器的端口開放了之后,為了安全起見一般會需要對這個端口的數(shù)據(jù)包進行過濾。在Linux中,Docker是通過iptables規(guī)則來進行包過濾的。

Docker會在iptables中插入兩條iptables chain,分別叫做DOCKER-USERDOCKER,并且會保證所有的網(wǎng)絡包都會先通過這兩個chain的檢查,它們都屬于FORWARD chain的一部分。

所有容器的iptables規(guī)則都會被自動加入到DOCKER chain中。

不要手動添加或修改或刪除DOCKER chain中的內(nèi)容,但是可以向DOCKER-USER chain中添加規(guī)則,這些規(guī)則會比DOCKER chain中的規(guī)則優(yōu)先級更高。事實上,Docker總會保證在FORWARD chain中,DOCKER-USER chain的優(yōu)先級是最高的,其次就是DOCKER chain,其他的iptables chain中的規(guī)則,不管是手動添加的,還是防火墻添加的,優(yōu)先級都不會比它們兩個高。

防火墻

如果運行Docker的系統(tǒng)使用了firewalld并且開啟了--iptables,Docker就會自動創(chuàng)建一個名為dockerfirewalld zone,并把所有由Docker創(chuàng)建的網(wǎng)絡接口(例如docker0)放入到這個zone里面。

Debian和Ubuntu自帶的防火墻ufw使用的是iptables里面的INPUTOUTPUT chain,而Docker會在nat表中處理容器的網(wǎng)絡流量,因此Docker容器的流量實際上并不會經(jīng)過ufw的過濾。

參考 https://docs.docker.com/network/

以上就是Docker容器網(wǎng)絡基礎概述的詳細內(nèi)容,更多關于Docker容器網(wǎng)絡的資料請關注腳本之家其它相關文章!

相關文章

  • Docker部署Logstash同步Mysql數(shù)據(jù)到ES方式

    Docker部署Logstash同步Mysql數(shù)據(jù)到ES方式

    本文介紹了如何搭建ELK(Elasticsearch, Logstash, Kibana)日志系統(tǒng),包括配置文件準備、Logstash與Elasticsearch部署、驅(qū)動文件準備、配置文件編輯、容器操作以及日志查看等步驟,文章內(nèi)容是作者的個人經(jīng)驗分享
    2024-10-10
  • Docker簡單安裝與應用入門教程

    Docker簡單安裝與應用入門教程

    這篇文章主要介紹了Docker簡單安裝與應用,結合實例形式分析了Docker常見的安裝、應用構建、終端訪問等操作相關實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2018-06-06
  • Centos8無法安裝docker問題的解決方法

    Centos8無法安裝docker問題的解決方法

    這篇文章主要給大家介紹了關于Centos8無法安裝docker問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Docker for windows pull鏡像文件的安裝位置改變的方法

    Docker for windows pull鏡像文件的安裝位置改變的方法

    這篇文章主要介紹了Docker for windows pull鏡像文件的安裝位置改變的方法的相關資料,需要的朋友可以參考下
    2016-12-12
  • Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    Docker中數(shù)據(jù)卷(volume)管理的兩種方式

    數(shù)據(jù)卷有兩種形式,一種是容器中的某個目錄,它可以被別的容器引用,只要有一個容器引用了這個數(shù)據(jù)卷,數(shù)據(jù)就不會被刪除;另一種數(shù)據(jù)卷是將容器中的數(shù)據(jù)卷和宿主機的目錄進行掛載。 數(shù)據(jù)卷可以在多個容器之間共享,修改數(shù)據(jù)卷不會影響鏡像
    2021-07-07
  • Docker?搭建?RabbitMQ的詳細過程

    Docker?搭建?RabbitMQ的詳細過程

    在現(xiàn)代微服務與分布式架構中,RabbitMQ?是一款成熟的開源消息隊列中間件,提供了可靠的消息投遞、豐富的路由策略和管理插件,本文將詳細介紹Docker?搭建?RabbitMQ的過程,感興趣的朋友一起看看吧
    2025-04-04
  • Docker如何解決tomcat容器啟動成功,無法訪問的問題

    Docker如何解決tomcat容器啟動成功,無法訪問的問題

    這篇文章主要介紹了Docker如何解決tomcat容器啟動成功,無法訪問的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker安裝常用組件(mysql,redis)的方法

    Docker安裝常用組件(mysql,redis)的方法

    今天小編就為大家分享一篇關于Docker安裝常用組件(mysql,redis)的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 如何給Docker配置官方國內(nèi)加速鏡像

    如何給Docker配置官方國內(nèi)加速鏡像

    在國內(nèi)訪問 Docker 官方的鏡像,一直以來速度都慢如蝸牛。為了快速訪問 Docker 官方鏡像都會配置三方加速器
    2017-06-06
  • Docker下MySQL配置文件不生效的解決方法(超全面!)

    Docker下MySQL配置文件不生效的解決方法(超全面!)

    在Docker中運行MySQL并遇到需要調(diào)整配置的情況時,比如想要關閉ONLY_FULL_GROUP_BY的嚴格模式,我們可以通過以下步驟來實現(xiàn)sql_mode的修改:以下是解決此類問題的步驟和思路,需要的朋友可以參考下
    2024-09-09

最新評論