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

Docker網(wǎng)絡(luò)配置(橋接網(wǎng)絡(luò)和自定義網(wǎng)絡(luò))自定義網(wǎng)絡(luò)設(shè)置ip方式

 更新時間:2024年01月09日 11:40:47   作者:我敲BUG  
這篇文章主要介紹了Docker網(wǎng)絡(luò)配置(橋接網(wǎng)絡(luò)和自定義網(wǎng)絡(luò))自定義網(wǎng)絡(luò)設(shè)置ip方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言:Docker網(wǎng)絡(luò)模式

當(dāng)你安裝了docker,它會自動創(chuàng)建3個網(wǎng)絡(luò)模式,

可以使用 docker network ls 命令來查看所有網(wǎng)絡(luò)

效果圖:

  • bridge橋接模式
  • host主機(jī)模式
  • none表示沒有網(wǎng)絡(luò),我們?nèi)萜饕话愣夹枰?lián)網(wǎng)的,這個模式我們可以忽略它

一、bridge(橋接網(wǎng)絡(luò))

當(dāng)Docker進(jìn)程啟動時,會在主機(jī)上創(chuàng)建一個名為docker0的虛擬網(wǎng)橋(路由器),此主機(jī)上啟動的Docker容器會連接到這個虛擬網(wǎng)橋上。

使用 ifconfig  查看docker0虛擬網(wǎng)橋

虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過交換機(jī)連在了一個二層網(wǎng)絡(luò)中。

從docker0子網(wǎng)中分配一個IP給容器使用,并設(shè)置docker0的IP地址為容器的默認(rèn)網(wǎng)關(guān)。

在主機(jī)上創(chuàng)建一對虛擬網(wǎng)卡veth pair設(shè)備,Docker將veth pair設(shè)備的一端放在新創(chuàng)建的容器中,并命名為eth0(容器的網(wǎng)卡),另一端放在主機(jī)中,以vethxxx這樣類似的名字命名,并將這個網(wǎng)絡(luò)設(shè)備加入到docker0網(wǎng)橋中。注:bridge為默認(rèn)模式,創(chuàng)建容器的時候不需要使用參數(shù)--net去指定, 這種模式會為每個容器分配一個獨(dú)立的Network Namespace(網(wǎng)絡(luò)空間)

同一個宿主機(jī)上的所有容器會在同一個網(wǎng)段下,相互之間是可以通信的

其它模式需要在創(chuàng)建容器時使用--net去指定

1.查看bridge信息

docker inspect bridge

注:inspect是docker 里面用來查看詳情的指令  

我只截了容器的部分 

圖中 c1 b1 c2 都是我創(chuàng)建的容器  可以看到每個容器都分配到了一個ip

效果圖:

2.創(chuàng)建一個容器查看IP

創(chuàng)建容器的指令

docker run -it  --name bug centos

注:run意思是創(chuàng)建運(yùn)行并進(jìn)入

  • -itd:是三個參數(shù)
  • -i:interactive容器具有交互功能
  • -t:容器將提供偽終端 
  • --name 給容器取名字 , centos 鏡像名稱 

我們在容器里面執(zhí)行 ip addr 查看容器 ip 

上面是網(wǎng)關(guān)的IP ,下面是容器的的IP

docker0就像是一個路由器,容器就像是路由器下的設(shè)備,它們在同一個網(wǎng)段內(nèi),可以互相ping

 

bridge(橋接網(wǎng)絡(luò))需要映射端口,外部才能訪問到容器

3.外部訪問

沒主機(jī)的模式下面我們需要端口映射外部才能訪問

設(shè)置端口映射

docker run -it --name bridge03 -p 444:8080 jdk7:v1

-p:把宿主機(jī)的4444端口映射到容器的8080端口

用 java -jar spring.jar --server.port=8080 啟動8080端口

-p參數(shù)可以出現(xiàn)多次,綁定多個端口號

docker run -itd --name bridge05 -p 8082:8080 -p 8083:8080 spring:1.0 

二、Host模式(主機(jī)模式)

如果啟動容器的時候使用host模式,那么這個容器將不會獲得一個獨(dú)立的Network Namespace,而是和宿主機(jī)共用一個Network Namespace。 

容器將不會虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口。 

但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的

Host模式是不需要映射端口的,假設(shè)容器開了8080端口,那么主機(jī)肯定也是8080端口,不需要映射直接就可以訪問

1.使用Host模式創(chuàng)建容器  

使用Host模式創(chuàng)建容器  

docker run -it --name host01 --net=host centos

注:run意思是創(chuàng)建運(yùn)行并進(jìn)入

  • -itd:是三個參數(shù)
  • -i:interactive容器具有交互功能
  • -t:容器將提供偽終端 
  • --name 給容器取名字 ,--net=host 指定使用的網(wǎng)絡(luò)模式   centos 鏡像名稱 

創(chuàng)建之后 使用 ip addr 查看容器ip 

和主機(jī)的IP是一模一樣的

在容器中運(yùn)行8080端口:

2.用host容器外部訪問

重新創(chuàng)建·一個host容器并掛載一個目錄,目錄里面有運(yùn)行8080端口的服務(wù)

docker run -it -v /root:/aa --net host jdk:v3

容器創(chuàng)建之后自動運(yùn)行目錄里的8080服務(wù)

外部訪問成功!

三、創(chuàng)建自定義網(wǎng)絡(luò)(自定義IP)

使用默認(rèn)的網(wǎng)橋模式,分配給容器的IP會變,

假設(shè):

  • 容器aa原本的IP是177.14.1.2
  • 容器bb原本的IP是177.14.1.3

aa和bb兩個容器同時關(guān)閉,容器bb先啟動了,那么它的IP就變成了177.14.1.2,我們可以是用自定義網(wǎng)絡(luò)來解決這樣的情況,自定義網(wǎng)絡(luò)可以IP固定

必須先要創(chuàng)建一個網(wǎng)段,在同一個網(wǎng)段下,才能進(jìn)行訪問

1.創(chuàng)建一個自定義網(wǎng)絡(luò)

docker network create --subnet 網(wǎng)絡(luò)名稱
--subnet :設(shè)置網(wǎng)段
docker network create --subnet 172.18.0.0/16 ots

172.18.0.0/16:給自定義網(wǎng)絡(luò)劃分的網(wǎng)段

使用 docker network ls 查看剛剛創(chuàng)建的自定義網(wǎng)絡(luò) 

固定ip啟動,

2.容器使用自定義網(wǎng)絡(luò) 

自定義網(wǎng)絡(luò)可以自定義ip,默認(rèn)網(wǎng)絡(luò)是不能指定IP的

docker run -it --name net01 --net ots --ip 172.18.0.3 jdk7:v1.0
--ip:指定ip

3.在創(chuàng)建一個容器互相ping一下

docker run -it --name net02 --net ots --ip 172.18.0.4 jdk7:v1.0

可以ping成功,因?yàn)樵谕痪W(wǎng)段下 

4.跨網(wǎng)橋測試

創(chuàng)建一個容器,默認(rèn)的網(wǎng)橋模式,容器的ip是172.17.0.2 

在里面ping一下自定義網(wǎng)絡(luò)容器 IP是 172.18.0.3

是不能ping通的        

在同一個網(wǎng)段下,才能進(jìn)行訪問          

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Mac下 docker 無法 ping 通宿主機(jī)的問題

    解決Mac下 docker 無法 ping 通宿主機(jī)的問題

    這篇文章主要介紹了解決Mac下 docker 無法 ping 通宿主機(jī)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • elasticsearch?組件基于單機(jī)的多實(shí)例集群部署方法

    elasticsearch?組件基于單機(jī)的多實(shí)例集群部署方法

    es 作為搜索引擎,應(yīng)用場景不乏日志分析、網(wǎng)絡(luò)安全、搜索引擎等,有時也會用作日志數(shù)據(jù)庫使用,畢竟其出色的搜索查詢性能,不是同等量級 關(guān)系型數(shù)據(jù)庫可以比擬的,這篇文章主要介紹了elasticsearch?組件基于單機(jī)的多實(shí)例集群,需要的朋友可以參考下
    2024-03-03
  • ubuntu17.10安裝docker-ce的方法

    ubuntu17.10安裝docker-ce的方法

    本篇文章主要介紹了ubuntu 17.10 安裝docker-ce的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 安裝harbor作為docker鏡像倉庫的問題

    安裝harbor作為docker鏡像倉庫的問題

    這篇文章主要介紹了安裝harbor作為docker鏡像倉庫,主要包括docker和docker-compose離線部署,安裝harbor作為本地的倉庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Docker從零構(gòu)建php-nginx-alpine鏡像的方法

    Docker從零構(gòu)建php-nginx-alpine鏡像的方法

    這篇文章主要介紹了Docker從零構(gòu)建php-nginx-alpine鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • docker-compose啟動服務(wù)方式

    docker-compose啟動服務(wù)方式

    這篇文章主要介紹了docker-compose啟動服務(wù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解Docker 配置國內(nèi)免費(fèi)registry mirror

    詳解Docker 配置國內(nèi)免費(fèi)registry mirror

    本篇文章主要介紹了 Docker 配置國內(nèi)免費(fèi)registry mirror,具有一定的參考價值,有興趣的小伙伴們可以參考一下
    2017-07-07
  • 解決Docker啟動Elasticsearch7.x報(bào)錯的問題

    解決Docker啟動Elasticsearch7.x報(bào)錯的問題

    這篇文章主要介紹了解決Docker啟動Elasticsearch7.x報(bào)錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker搭建redis主從哨兵集群的實(shí)現(xiàn)步驟

    docker搭建redis主從哨兵集群的實(shí)現(xiàn)步驟

    本文主要介紹了docker搭建redis主從哨兵集群的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Linux下Docker及portainer相關(guān)配置方法

    Linux下Docker及portainer相關(guān)配置方法

    本文以CentOS 7為例,安裝docker CE版本,docker有兩種版本,社區(qū)版本CE和企業(yè)版本EE,通過實(shí)例代碼給大家介紹了Linux下Docker及portainer相關(guān)配置方法,感興趣的朋友跟隨小編一起看看吧
    2019-06-06

最新評論