日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

基本概念

默認情況下,Compose會為我們的應用創建一個網絡,服務的每個容器都會加入該網絡中。這樣,容器就可被該網絡中的其他容器訪問,不僅如此,該容器還能以服務名稱作為hostname被其他容器訪問。

默認情況下,應用程序的網絡名稱基于Compose的工程名稱,而項目名稱基于Docker-compose.yml所在目錄的名稱。如需修改工程名稱,可使用--project-name標識或COMPOSE_PORJECT_NAME環境變量。

舉個例子,假如一個應用程序在名為myApp的目錄中,并且docker-compose.yml如下所示:

version: '2'
services:
 web:
 build: .
 ports:
 - "8000:8000"
 db:
 image: postgres
復制代碼

當我們運行docker-compose up時,將會執行以下幾步:

  • 創建一個名為myapp_default的網絡;
  • 使用web服務的配置創建容器,它以“web”這個名稱加入網絡myapp_default;
  • 使用db服務的配置創建容器,它以“db”這個名稱加入網絡myapp_default。

容器間可使用服務名稱(web或db)作為hostname相互訪問。例如,web這個服務可使用postgres://db:5432 訪問db容器。

更新容器

當服務的配置發生更改時,可使用docker-compose up命令更新配置。

此時,Compose會刪除舊容器并創建新容器。新容器會以不同的IP地址加入網絡,名稱保持不變。任何指向舊容器的連接都會被關閉,容器會重新找到新容器并連接上去。

links

前文講過,默認情況下,服務之間可使用服務名稱相互訪問。links允許我們定義一個別名,從而使用該別名訪問其他服務。舉個例子:

version: '2'
services:
 web:
 build: .
 links:
 - "db:database"
 db:
 image: postgres
復制代碼

這樣web服務就可使用db或database作為hostname訪問db服務了。

指定自定義網絡

一些場景下,默認的網絡配置滿足不了我們的需求,此時我們可使用networks命令自定義網絡。networks命令允許我們創建更加復雜的網絡拓撲并指定自定義網絡驅動和選項。不僅如此,我們還可使用networks將服務連接到不是由Compose管理的、外部創建的網絡。

如下,我們在其中定義了兩個自定義網絡。

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服務與db服務隔離,兩者分別使用自己的網絡;app服務可與兩者通信。

由本例不難發現,使用networks命令,即可方便實現服務間的網絡隔離與連接。

配置默認網絡

除自定義網絡外,我們也可為默認網絡自定義配置。

version: '2'
services:
 web:
 build: .
 ports:
 - "8000:8000"
 db:
 image: postgres
networks:
 default:
 # Use a custom driver
 driver: custom-driver-1
復制代碼

這樣,就可為該應用指定自定義的網絡驅動。

使用已存在的網絡

一些場景下,我們并不需要創建新的網絡,而只需加入已存在的網絡,此時可使用external選項。示例:

networks:
 default:
 external:
 name: my-pre-existing-network

小結

歡迎關注頭條號:JAVA大飛哥

點擊關注評論轉發一波~~

私信小編發送“架構”(免費獲取Docker資料以及JAVA相關的面試架構資料喲)

最后,每一位讀到這里的Java程序猿朋友們,感謝你們能耐心地看完。希望在成為一名更優秀的Java程序猿的道路上,我們可以一起學習、一起進步!都能贏取白富美,走向架構師的人生巔峰!

分享到:
標簽:Docker Compose
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定