docker入門之虛擬網路概述
docker 入門之虛擬網路概述
一、什麼是虛擬化網路1)名稱空間2)裝置和名稱空間3)虛擬網路裝置4)虛擬網橋4.1)單個網橋4.2)兩個網橋--同IP段4.3)兩個網橋--不同IP段二、容器網路-NAT模式三、容器網路-橋接模式
一、什麼是虛擬化網路
1)名稱空間
在前面我們瞭解過,名稱空間一共有六種:
1.UTS
:主機名和域名
2.User
:使用者和使用者組
3.Mount
:檔案系統
4.IPC
:訊號量、訊息佇列和共享記憶體
5.PID
:程序編號
6.Network
:網路裝置、網路棧、埠等
今天我們要了解的是Network
2)裝置和名稱空間
一個裝置只能屬於一個名稱空間,如果將一個網絡卡分配給單獨的名稱空間,那麼這個網絡卡對於其他名稱空間來說是不可見的。
3)虛擬網路裝置
Linux支援的二層裝置和三層裝置的虛擬化,其中網絡卡屬於二層裝置。
虛擬網絡卡:在Linux中,虛擬網絡卡總是成對
出現
虛擬網橋裝置:用一個軟體模擬一個交換機
4)虛擬網橋
在伺服器安裝了docker之後,docker應用會建立一個名為docker0
的網橋,地址為172.17.0.1
[[email protected] ~]# ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17 .0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:ceff:fe71:2880 prefixlen 64 scopeid 0x20<link>
ether 02:42:ce:71:28:80 txqueuelen 0 (Ethernet)
RX packets 15 bytes 1164 (1.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 31 bytes 3052 (2.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4.1)單個網橋
單個網橋因為在虛擬網路中,網絡卡總是以對
的方式出現,所以但我們建立了一個容器之後,如果該容器使用了網橋,那麼這時候伺服器上會多出一個虛擬的網絡卡,而這個網絡卡被繫結在網橋上,另個網絡卡在容器中。
為了驗證以上理論,我們可以使用docker container ps 檢視容器個數,然後再使用ifconfig 檢視虛擬網絡卡個數。其中以vet開頭的網絡卡為docker的虛擬網絡卡。
[[email protected] ~]# docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d1745c9b3c8e web1:v2 "/bin/httpd -f -h /d…" 7 days ago Up 7 days http_1
2e45357a5285 busybox "sh" 7 days ago Up 7 days b1
[[email protected] ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:8b:ab:21 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.75/24 brd 192.168.100.255 scope global dynamic ens160
valid_lft 52420sec preferred_lft 52420sec
inet6 fe80::3781:c50a:ba27:fb89/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ce:71:28:80 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:ceff:fe71:2880/64 scope link
valid_lft forever preferred_lft forever
13: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP
link/ether 8e:8d:c8:b2:44:d0 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::8c8d:c8ff:feb2:44d0/64 scope link
valid_lft forever preferred_lft forever
17: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP
link/ether 2a:24:5c:84:e5:c3 brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::2824:5cff:fe84:e5c3/64 scope link
valid_lft forever preferred_lft forever
[[email protected] ~]#
可以看出現在伺服器上有兩個容器,相對應的,伺服器多了兩塊虛擬的網絡卡,那麼怎麼去驗證這兩個虛擬網絡卡是否真的如我們所說的一樣,是屬於docker0網橋的呢?我們可以使用brctl
去檢視
[[email protected] ~]# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242ce712880 no veth3487b78
vethc9f32ca
通過上下對比,我們應該能驗證之前的結論了吧!
單個網橋的通訊:在上圖中,不難發現,假設S1和S2需要通訊,可以直接通過網橋doker0進行通訊。
4.2)兩個網橋--同IP段
兩個網橋--同ip段當兩個網橋連線的容器處於同一個IP段,那麼兩個網橋之間的通訊也十分簡單,我們只需要兩個虛擬的網絡卡將兩個網橋進行連線即可。
4.3)兩個網橋--不同IP段
兩個網橋--不同IP段當兩個docker網橋所連線的容器處於不同的IP地址段時,S1和S3之間的通訊就顯得沒那麼容易了…
S1和S3所屬的網段不同,意味著兩個容器必須要通過閘道器才能尋找到對方,即使他們在一臺伺服器中!如果是簡單的通訊,那麼我們可以開啟Linux Kernel
中的轉發
功能,實現兩個網段的通訊。在上圖中,我們在兩個docker網橋中間多加了一個容器,該容器可以只用來處理轉發流量或者實現NAT等功能,這樣也可以實現同一伺服器上不同的網橋之間通訊。
二、容器網路-NAT模式
在docker中,預設的網路模式為NAT模式,在安裝了docker之後,可以發現iptables
的NAT鏈多了幾條規則。
[[email protected] ~]# iptables -t nat -vnL
Chain PREROUTING (policy ACCEPT 404K packets, 36M bytes)
pkts bytes target prot opt in out source destination
80 5420 DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT 82399 packets, 8968K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 12551 packets, 755K bytes)
pkts bytes target prot opt in out source destination
相關推薦
docker入門之虛擬網路概述
docker 入門之虛擬網路概述
一、什麼是虛擬化網路1)名稱空間2)裝置和名稱空間3)虛擬網路裝置4)虛擬網橋4.1)單個網橋4.2)兩個網橋--同IP段4.3)兩個網橋--不同IP段二、容器網路-NAT模式三、容器網路-橋接模式
一、什麼是虛擬化網路
1)名稱空間
在前面我們瞭解
docker容器技術之虛擬化網路概述(四)
前一篇文章連結:Docker容器技術之映象管理基礎(三)
目錄
一、docker網路簡介
1、 虛擬網路通訊的三種方式
1.1、橋接網路:
什麼是MAC:
1.2、NAT網路:
1.3、Overlay Network
2、
[虛擬化]連載No3之虛擬網路+Docker映象模擬雲伺服器搭建
本次任務: 1: 宿主機配置一塊虛擬橋接模式網絡卡 2:使用docker映象製作可以ssh登入的虛擬機器 3:配置虛擬機器橋接網路,獨立ip可以保證外部登入[不走埠對映]==========宿主機配置虛擬橋接網絡卡在Linux上建立橋裝置===========首先最開始的網路
Docker入門之docker的安裝
Docker初體驗
Docker 簡介
Docker有兩個版本: 社群版(CE) 企業版(EE) Docker Community Edition(CE)非常適合希望開始使用Docker並嘗試使用基於容器的應用程式的個人開發人員和小型團隊。
Docker企業版(EE)專為企業
Docker 入門之容器
原文地址:https://renguangli.com/articles/docker-container
Docker容器常用命令介紹和使用
檢視容器
使用docker ps命令檢視執行著的容器
[[email protected] ~]# do
docker入門之映象
原文地址:https://renguangli.com/articles/docker-image
docker映象類似於虛擬機器映象,可以將它理解為一個只讀的模板。例如,一個映象可以包含一個基本的作業系統,裡面安裝了tomcat(或者其它軟體),我們把它稱為tomca
docker入門之安裝
原文地址:https://renguangli.com/articles/docker-install
Centos下安裝docker
系統要求:64為作業系統,核心版本至少為3.10 docker目前支援Centos6.5及以後的版本
yum安裝
執行以下
docker入門之簡介
什麼是docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
Docker 最初是 dotCloud 公司創始
docker入門之映象管理基礎
docker映象管理基礎
首發:arppinging
一、映象概述
1.1 聯合掛載
在之前的文章我們提到過,容器是基於映象啟動的,映象的儲存驅動是overlay2
overlayFS將單個Linux主機上的兩個目錄合成一個目錄,這些目錄稱為層,統一過程被稱為聯合掛載。
下圖是一個docker映象
docker入門之鏡像管理基礎
hour pod rap tags ESS 應該 操作 其中 work docker鏡像管理基礎
首發:arppinging
一、鏡像概述
1.1 聯合掛載
在之前的文章我們提到過,容器是基於鏡像啟動的,鏡像的存儲驅動是overlay2
overlayFS將單個Linux主
Docker入門之-1簡介與安裝
一、簡介
a、為什麼出現docker?
一款產品從開發到上線,從作業系統,到執行環境,再到應用配置。作為開發+運維之間的協作我們需要關心很多東西,這也是很多網際網路公司都不得不面對的問題,特別是各種版本的迭代之後,不同版本環境的相容,對運維人員都是考驗
Doc
Docker入門之構建Springboot專案釋出在映象環境
在之前,簡單的講了一下docker環境的搭建,這裡就說一下docker的專案部署,如springboot專案如何執行在docker環境中
這裡其實主要就是在原有下載映象的基礎上進行重新構建。
Docker實踐(2)—虛擬網路
1 docker(container)的虛擬網路
docker的虛擬網路結構:
host建立一個虛擬bridge,每個container對應一個虛擬網路裝置(TAP裝置),與bridge一起構成一個虛擬網路,並通過虛擬bridge相互通訊。
Host的物理網路裝置eth0作為內部虛擬網路的NAT閘
Docker入門之 - 如何安裝Docker CE
subst 停止 ESS api line 虛擬化 虛擬 attr conf 原文:Docker入門之 - 如何安裝Docker CE
docker入門之基礎操作
light war start entos vmware rep pos 導出 備份 docker,我們可以把docker當作是簡單的虛擬機。但這個虛擬機不像vm一樣安裝系統。所以我們又稱之為容器。你可以理解成,容器就是虛擬機
docker與vm的對比
vmware
神經網路模型入門之模型概述
1.前言
走在機器學習的路上, 學習之初,參考《Tensor Flow 實戰》,其中很多概念無法理解,敘述不懂其意,理解內容更無從談起。需要回頭學習基礎知識。
人工智慧的基礎模型是神經網路,在此基礎上發展出更多複雜的技術,比如機器學習。
2.神經網路結構
vsphere入門之用虛擬交換機創建並管理ESXI網絡
虛擬化 分布式交換機 標準交換機 楊書凡 esxi網絡管理 之前介紹了vSphere虛擬化平臺的ESXi和vCenter的部署方法。本篇博客主要介紹VMware vSphere的網絡管理,網絡是vSphere的基礎,所有ESXi的虛擬機都通過網絡來進行通信。通常在物理網絡中需要使用
Docker入門與應用系列(八)Docker圖形界面管理之Shipyard
tps 數據庫 sock blog ocs body mage 代理 cell Shipyard基於Docker API實現的容器圖形管理系統,支持container、images、engine、cluster等功能,可滿足我們基本的容器部署需求可堆棧的Docker管理基於
Docker入門與應用系列(七)Docker圖形界面管理之DockerUI
post 簡單的 技術分享 name mage src 入門 .com 系統 1.dockeruiDockerrUI是一個基於Docker API提供圖形化頁面簡單的容器管理系統,支持容器管理、鏡像管理。1.1 下載鏡像
docker pull abh1nav/doc
Docker入門實踐之dokerfile編寫
DockerDockerfile是一個文本格式的配置文件,通過dockerfile可以快速創建自定義鏡像以適應測試,預發布,生產環境等各種應用部署鏡像,一個好的dockerfile可以讓我們的鏡像更方便管理以及應用。
一. Dokerfile的基本結構
Dockfile是由一行行命令語句組成,並且遲滯以#開頭