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

docker 容器自定義 hosts 網(wǎng)絡(luò)訪問操作

 更新時(shí)間:2021年03月19日 10:21:36   作者:心飛路漫  
這篇文章主要介紹了docker 容器自定義 hosts 網(wǎng)絡(luò)訪問操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在 docker-compose.yml 中增加 extra_hosts 關(guān)鍵字就可以將數(shù)據(jù)寫入到容器的 /etc/hosts。

extra_hosts

添加主機(jī)名映射。

extra_hosts:

“somehost:162.242.195.82”

“otherhost:50.31.209.229”

將會(huì)在/etc/hosts創(chuàng)建記錄:

162.242.195.82 somehost

50.31.209.229 otherhost

注意:

如果指向的是本機(jī),不要寫容器的ip,(因?yàn)镮P重啟后會(huì)變,除非你給容器設(shè)置固定ip)而是寫宿主機(jī)的ip,如192.168.xxx.xxx

補(bǔ)充:Docker 網(wǎng)絡(luò):host模式

當(dāng)我們準(zhǔn)備將Docker技術(shù)應(yīng)用到生產(chǎn)級(jí)別的場景時(shí),我們需要了解很多網(wǎng)絡(luò)方面的知識(shí)。網(wǎng)絡(luò)是Docker中相對(duì)比較薄弱的部分,我們有必要了解Docker的網(wǎng)絡(luò)知識(shí),以滿足更高的網(wǎng)絡(luò)需求。

本節(jié)先對(duì)Docker網(wǎng)絡(luò)模型中的host模型進(jìn)行理論介紹,再通過案例的實(shí)操,讓您更好地去理解docker網(wǎng)絡(luò)模型。

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

當(dāng)你安裝完Docker時(shí),它會(huì)自動(dòng)創(chuàng)建三個(gè)網(wǎng)絡(luò)。你可以使用以下docker network ls命令列出這些網(wǎng)絡(luò):

docker network ls

結(jié)果應(yīng)如下

NETWORK ID     NAME        DRIVER       SCOPE
594430d2d4bb    bridge       bridge       local
d855b34c5d51    host        host        local
b1ecee29ed5e    none        null        local

Docker內(nèi)置這三個(gè)網(wǎng)絡(luò),運(yùn)行容器時(shí),你可以使用該來指定容器應(yīng)連接到哪些網(wǎng)絡(luò)。

我們?cè)谑褂胐ocker run創(chuàng)建Docker容器時(shí),可以用--network標(biāo)志 選項(xiàng)指定容器的網(wǎng)絡(luò)模式,Docker有以下4種網(wǎng)絡(luò)模式:

host模式:使用 --net=host 指定。

none模式:使用 --net=none 指定。

bridge模式:使用 --net=bridge 指定,默認(rèn)設(shè)置。

container模式:使用 --net=container:NAME_or_ID 指定。

host模式

Docker使用了Linux的Namespaces技術(shù)來進(jìn)行資源隔離,如PID Namespace隔離進(jìn)程,Mount Namespace隔離文件系統(tǒng),Network Namespace隔離網(wǎng)絡(luò)等。一個(gè)Network Namespace提供了一份獨(dú)立的網(wǎng)絡(luò)環(huán)境,包括網(wǎng)卡、路由、Iptable規(guī)則等都與其他的Network Namespace隔離。

host模式類似于Vmware的橋接模式,與宿主機(jī)在同一個(gè)網(wǎng)絡(luò)中,但沒有獨(dú)立IP地址。一個(gè)Docker容器一般會(huì)分配一個(gè)獨(dú)立的Network Namespace。

但如果啟動(dòng)容器的時(shí)候使用host模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的Network Namespace,而是和宿主機(jī)共用一個(gè)Network Namespace。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口。

如下圖所示:容器與主機(jī)在相同的網(wǎng)絡(luò)命名空間下面,使用相同的網(wǎng)絡(luò)協(xié)議棧,容器可以直接使用主機(jī)的所有網(wǎng)絡(luò)接口

案例驗(yàn)證

查看主機(jī)鏈路接口

ip a

我們右側(cè)云環(huán)境主機(jī)的IP為{host0.ip}/24上用host模式啟動(dòng)nginx容器,監(jiān)聽它的tcp80端口。

使用--net host參數(shù)來指定網(wǎng)絡(luò)模型使用host模式

docker run --name=nginx --net=host -p 80:80 -d nginx

查看容器鏈路接口,與主機(jī)一致

docker exec -it nginx cat /etc/hosts

這時(shí)外界要訪問容器中的應(yīng)用,則直接使用{host0.ip}:80即可,不用任何NAT轉(zhuǎn)換,就像直接跑在宿主機(jī)中一樣。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。

curl {host0.ip}

總結(jié)

host 模式簡單并且性能高,host 模式下面的網(wǎng)絡(luò)模型是最簡單和最低延遲的模式,容器進(jìn)程直接與主機(jī)網(wǎng)絡(luò)接口通信,與物理機(jī)性能一致,host 不利于網(wǎng)絡(luò)自定配置和管理,并且所有主機(jī)的容器使用相同的IP。

也不利于主機(jī)資源的利用。對(duì)網(wǎng)絡(luò)性能要求比較高,可以使用該模式。否則應(yīng)該使用其他模式

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • docker之docker-machine用法詳解

    docker之docker-machine用法詳解

    這篇文章主要介紹了docker之docker-machine用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Docker鏡像瘦身大小從1.43 GB減少到22.4MB

    Docker鏡像瘦身大小從1.43 GB減少到22.4MB

    本文主要介紹了 Docker鏡像瘦身大小從1.43 GB減少到22.4MB,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 使用Docker部署 spring-boot maven應(yīng)用的方法

    使用Docker部署 spring-boot maven應(yīng)用的方法

    本篇文章主要介紹了使用Docker部署 spring-boot maven應(yīng)用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • docker安裝tomcat并部署Springboot項(xiàng)目war包的方法

    docker安裝tomcat并部署Springboot項(xiàng)目war包的方法

    這篇文章主要介紹了docker安裝tomcat并部署Springboot項(xiàng)目war包的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Docker安裝部署Neo4j的保姆級(jí)教程

    Docker安裝部署Neo4j的保姆級(jí)教程

    本文主要介紹了Docker安裝部署Neo4j的保姆級(jí)教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Docker Compose常用命令詳解

    Docker Compose常用命令詳解

    本篇文章主要介紹了Docker Compose常用命令詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • docker掛載本地目錄和數(shù)據(jù)卷容器操作

    docker掛載本地目錄和數(shù)據(jù)卷容器操作

    這篇文章主要介紹了docker掛載本地目錄和數(shù)據(jù)卷容器操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用docker部署springboot項(xiàng)目到服務(wù)器的詳細(xì)過程

    使用docker部署springboot項(xiàng)目到服務(wù)器的詳細(xì)過程

    這篇文章主要介紹了docker部署springboot項(xiàng)目到服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Docker 部署net5程序?qū)崿F(xiàn)跨平臺(tái)功能

    Docker 部署net5程序?qū)崿F(xiàn)跨平臺(tái)功能

    本文講述使用docker容器部署.net5項(xiàng)目、實(shí)現(xiàn)跨平臺(tái),本文通過圖文的形式給大家介紹了創(chuàng)建.net5項(xiàng)目的過程及安裝成功后如何使用docker部署項(xiàng)目,感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2021-05-05
  • 一文教會(huì)你用Docker打包Python運(yùn)行環(huán)境

    一文教會(huì)你用Docker打包Python運(yùn)行環(huán)境

    Docker提供了容器級(jí)別的資源隔離,由于Python的外部依賴管理中存在的問題,我們通常會(huì)使用virtualenv來對(duì)不同的項(xiàng)目創(chuàng)建其唯一的依賴環(huán)境,下面這篇文章主要給大家介紹了如何通過一篇文章教會(huì)你用Docker打包Python運(yùn)行環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2022-05-05

最新評(píng)論