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

Docker容器網(wǎng)絡(luò)基礎(chǔ)概述

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

開放容器端口

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

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

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

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

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

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

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

DNS服務(wù)

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

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

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

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

Docker Network Drivers

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

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

代理服務(wù)器

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

包過濾

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

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

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

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

防火墻

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

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

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

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

相關(guān)文章

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

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

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

    Docker簡單安裝與應(yīng)用入門教程

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

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

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

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

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

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

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

    Docker?搭建?RabbitMQ的詳細(xì)過程

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

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

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

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

    今天小編就為大家分享一篇關(guān)于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中運(yùn)行MySQL并遇到需要調(diào)整配置的情況時,比如想要關(guān)閉ONLY_FULL_GROUP_BY的嚴(yán)格模式,我們可以通過以下步驟來實(shí)現(xiàn)sql_mode的修改:以下是解決此類問題的步驟和思路,需要的朋友可以參考下
    2024-09-09

最新評論