docker基礎 docker網路模式

2022-06-25 05:06:09 字數 2227 閱讀 9664

docker啟動之後,會在宿主機虛擬乙個docker容器網橋(docker0),docker啟動乙個容器時會根據docker網橋的網段分配給容器乙個ip位址,稱為container-ip,

其實,總共有5種,常用的是以下4種

docker網路模式

配置

說明

host模式

–net=host

容器和宿主機共享network namespace。

container模式

–net=container:name_or_id

容器和另外乙個容器共享network namespace。 kubernetes中的pod就是多個容器共享乙個network namespace。

none模式

–net=none

容器有獨立的network namespace,但並沒有對其進行任何網路設定,如分配veth pair 和網橋連線,配置ip等。

bridge模式

–net=bridge

預設為該模式)

如果啟動容器的時候使用host模式,那麼這個容器將不會獲得乙個獨立的network namespace,而是和宿主機共用乙個network namespace。容器將不會虛擬出自己的網絡卡,配置自己的ip等,而是使用宿主機的ip和埠。但是,容器的其他方面,如檔案系統、程序列表等還是和宿主機隔離的。

例子:

建立乙個host模式

這個模式指定新建立的容器和已經存在的乙個容器共享乙個 network namespace,而不是和宿主機共享。新建立的容器不會建立自己的網絡卡,配置自己的 ip,而是和乙個指定的容器共享 ip、埠範圍等。同樣,兩個容器除了網路方面,其他的如檔案系統、程序列表等還是隔離的。兩個容器的程序可以通過 lo 網絡卡裝置通訊

例子:

建立乙個container模式的容器

使用none模式,docker容器擁有自己的network namespace,但是,並不為docker容器進行任何網路配置。也就是說,這個docker容器沒有網絡卡、ip、路由等資訊。需要我們自己為docker容器新增網絡卡、配置ip等。

這種網路模式下容器只有lo回環網路,沒有其他網絡卡。none模式可以在容器建立時通過--network=none來指定。這種型別的網路沒有辦法聯網,封閉的網路能很好的保證容器的安全性

例子

建立乙個none模式

簡介:1、當docker程序啟動時,會在主機上建立乙個名為docker0的虛擬網橋,此主機上啟動的docker容器會連線到這個虛擬網橋上。

2、當啟動容器之後,還會啟動乙個veth-xxoxoxo的虛擬網絡卡

1、檢視所有docker network網路模式

docker network ls
2、指定網路模式

-- net

docker run --net=bridge
3、建立自定義網路

-- create -d

docker network create -d bridge mynet
4、建立自定義網路並指定網橋網段

docker network create -d bridge mytest --subnet 172.20.0.0/16 --gateway 172.20.0.1

Docker基礎 天池Docker入門

容器 container 容器是執行中的映象,他的實質是程序,通過docker ps可以檢視執行中的容器。倉庫 repository 首先我們需要登陸乙個伺服器docker registry,然後每個registry上可以包含多個repository,每個repository下可以多個tag相當於不...

Docker 系列(三) Docker 基礎

dockerfile 是乙個文字檔案,其內包含了一條條的指令 instruction 每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。舉乙個簡單的定製例子,我們建立乙個檔案 dockerfile,寫入如下 from nginx run echo usr share nginx h...

docker 學習筆記之docker連線網路的設定

1 如果docker主機不需要通過 連線外網 則docker的相關命令 如docker search 或docker容器與網路相關的操作都可以正常進行,不需要特殊設定。2 當docker主機 是通過 才能連線外網時,採用服務方式啟動守護程序 如果docker守護程序是通過服務的方式啟動的 sudo ...