07.Docker Compose 內(nèi)網(wǎng)設(shè)置(同一局域網(wǎng)下)

Docker Compose 網(wǎng)絡(luò)設(shè)置

概述內(nèi)容

默認(rèn)情況下,Compose 會(huì)為我們的應(yīng)用創(chuàng)建一個(gè)網(wǎng)絡(luò)烫幕,服務(wù)的每個(gè)容器都會(huì)加入該網(wǎng)絡(luò)中济炎。這樣,容器就可被該網(wǎng)絡(luò)中的其他容器訪問(wèn)凯亮,不僅如此边臼,該容器還能以服務(wù)名稱作為 Hostname 被其他容器訪問(wèn)

默認(rèn)情況下假消,應(yīng)用程序的網(wǎng)絡(luò)名稱基于 Compose 的工程名稱柠并,而項(xiàng)目名稱基于 docker-compose.yml 所在目錄的名稱。如需修改工程名稱富拗,可使用 --project-name 標(biāo)識(shí)或 COMPOSE_PORJECT_NAME 環(huán)境變量臼予。

假如一個(gè)應(yīng)用程序在名為 myapp 的目錄中,并且 docker-compose.yml 如下所示:

version: '2'
services:
  web:
    build: .
    ports:
      - "8000:8000"
  db:
    image: postgres

當(dāng)我們運(yùn)行 docker-compose up 時(shí)啃沪,將會(huì)執(zhí)行以下幾步:

  • 創(chuàng)建一個(gè)名為 myapp_default 的網(wǎng)絡(luò)
  • 使用 web 服務(wù)的配置創(chuàng)建容器粘拾,它以 web 這個(gè)名稱加入網(wǎng)絡(luò) myapp_default
  • 使用 db 服務(wù)的配置創(chuàng)建容器,它以 db 這個(gè)名稱加入網(wǎng)絡(luò) myapp_default

容器間可使用服務(wù)名稱(web 或 db)作為 Hostname 相互訪問(wèn)创千。例如缰雇,web 這個(gè)服務(wù)可使用 postgres://db:5432 訪問(wèn) db 容器入偷。

當(dāng)服務(wù)的配置發(fā)生更改時(shí),可使用 docker-compose up 命令更新配置械哟。此時(shí)疏之,Compose 會(huì)刪除舊容器并創(chuàng)建新容器。新容器會(huì)以不同的 IP 地址加入網(wǎng)絡(luò)暇咆,名稱保持不變锋爪。任何指向舊容器的連接都會(huì)被關(guān)閉,容器會(huì)重新找到新容器并連接上去爸业。

使用 links

默認(rèn)情況下几缭,服務(wù)之間可使用服務(wù)名稱相互訪問(wèn)。links 允許我們定義一個(gè)別名沃呢,從而使用該別名訪問(wèn)其他服務(wù)年栓。

version: '2'
services:
  web:
    build: .
    links:
      - "db:database"
  db:
    image: postgres

自定義網(wǎng)絡(luò)

一些場(chǎng)景下,默認(rèn)的網(wǎng)絡(luò)配置滿足不了我們的需求薄霜,此時(shí)我們可使用 networks 命令自定義網(wǎng)絡(luò)某抓。networks 命令允許我們創(chuàng)建更加復(fù)雜的網(wǎng)絡(luò)拓?fù)洳⒅付ㄗ远x網(wǎng)絡(luò)驅(qū)動(dòng)和選項(xiàng)。不僅如此惰瓜,我們還可使用 networks 將服務(wù)連接到不是由 Compose 管理的否副、外部創(chuàng)建的網(wǎng)絡(luò)。

version: '2'

services:
  proxy:
    build: ./proxy
    networks:
      - front
  app:
    build: ./app
    networks:
      - front
      - back
  db:
    image: postgres
    networks:
      - back

networks:
  front:
    # Use a custom driver
    driver: custom-driver-1
  back:
    # Use a custom driver which takes special options
    driver: custom-driver-2
    driver_opts:
      foo: "1"
      bar: "2"

其中崎坊,proxy 服務(wù)與 db 服務(wù)隔離备禀,兩者分別使用自己的網(wǎng)絡(luò);app 服務(wù)可與兩者通信奈揍。使用 networks 命令曲尸,即可方便實(shí)現(xiàn)服務(wù)間的網(wǎng)絡(luò)隔離與連接。

配置默認(rèn)網(wǎng)絡(luò)

version: '2'

services:
  web:
    build: .
    ports:
      - "8000:8000"
  db:
    image: postgres

networks:
  default:
    # Use a custom driver
    driver: custom-driver-1

這樣男翰,就可為該應(yīng)用指定自定義的網(wǎng)絡(luò)驅(qū)動(dòng)

實(shí)操內(nèi)容

# 已存在的網(wǎng)絡(luò)

我們可以預(yù)先創(chuàng)建一個(gè)名為 myapp 的網(wǎng)絡(luò)另患,讓 Compose 加入這個(gè)新創(chuàng)建的網(wǎng)絡(luò),使所有 Compose 可以通信蛾绎,此時(shí)使用 external 選項(xiàng)昆箕。



#  創(chuàng)建網(wǎng)絡(luò)
docker network create <Network Name>局域網(wǎng)名字

# 查看已存在的網(wǎng)絡(luò)
docker network list

在需要加入同一局域網(wǎng)的容器 .yml或yaml文件中添加下面的代碼:

networks:
  default:
    external:
      name:  局域網(wǎng)名字

一次構(gòu)建,到處運(yùn)行

請(qǐng)參考本節(jié)視頻(加微信13979751435獲茸夤凇)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鹏倘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子顽爹,更是在濱河造成了極大的恐慌纤泵,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件话原,死亡現(xiàn)場(chǎng)離奇詭異夕吻,居然都是意外死亡诲锹,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門涉馅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)归园,“玉大人,你說(shuō)我怎么就攤上這事稚矿∮褂眨” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵晤揣,是天一觀的道長(zhǎng)桥爽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)昧识,這世上最難降的妖魔是什么钠四? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮跪楞,結(jié)果婚禮上缀去,老公的妹妹穿的比我還像新娘。我一直安慰自己甸祭,他們只是感情好缕碎,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著池户,像睡著了一般咏雌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上校焦,一...
    開(kāi)封第一講書(shū)人閱讀 49,856評(píng)論 1 290
  • 那天赊抖,我揣著相機(jī)與錄音,去河邊找鬼斟湃。 笑死熏迹,一個(gè)胖子當(dāng)著我的面吹牛檐薯,可吹牛的內(nèi)容都是我干的凝赛。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼坛缕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼墓猎!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起赚楚,我...
    開(kāi)封第一講書(shū)人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤毙沾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后宠页,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體左胞,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寇仓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烤宙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遍烦。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洒忧,死狀恐怖估灿,靈堂內(nèi)的尸體忽然破棺而出商虐,到底是詐尸還是另有隱情饿凛,我是刑警寧澤驶忌,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布颤殴,位于F島的核電站师抄,受9級(jí)特大地震影響醋界,放射性物質(zhì)發(fā)生泄漏叉瘩。R本人自食惡果不足惜膳帕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望薇缅。 院中可真熱鬧备闲,春花似錦、人聲如沸捅暴。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蓬痒。三九已至泻骤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間梧奢,已是汗流浹背狱掂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亲轨,地道東北人趋惨。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惦蚊,于是被迫代替她去往敵國(guó)和親器虾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容