Docker基礎(chǔ)——容器網(wǎng)絡(luò)

????Docker技術(shù)一般遵循一個(gè)容器只包含一個(gè)應(yīng)用程序的準(zhǔn)則:
我們很有可能必須以不同于數(shù)據(jù)庫的方式擴(kuò)展api和前端。
單獨(dú)的容器允許獨(dú)立地發(fā)布版本和更新版本。
雖然可以在本地為數(shù)據(jù)庫使用容器,但可能希望在生產(chǎn)環(huán)境中為數(shù)據(jù)庫使用托管服務(wù)。不希望將數(shù)據(jù)庫引擎與應(yīng)用一起發(fā)布。
運(yùn)行多個(gè)進(jìn)程將需要一個(gè)進(jìn)程管理器(容器只啟動(dòng)一個(gè)進(jìn)程),這增加了容器啟動(dòng)/關(guān)閉的復(fù)雜性。
????所以多容器之間的信息交互除了掛載卷以外還需要其他渠道,我們可以創(chuàng)建容器網(wǎng)絡(luò)來讓容器之間可以利用網(wǎng)絡(luò)通信:
????上述代碼示例展示了創(chuàng)建容器網(wǎng)絡(luò)、運(yùn)行容器時(shí)配置網(wǎng)絡(luò)。通過docker network create我們可以創(chuàng)建名為todo-app的容器網(wǎng)絡(luò),在運(yùn)行容器時(shí)使用 --network 屬性指定容器接入的網(wǎng)絡(luò)名稱,--network-alias屬性指定容器在網(wǎng)絡(luò)上的名稱。
????那么我們?nèi)绾问褂靡呀?jīng)構(gòu)建好的網(wǎng)絡(luò)?
????以上代碼示例說明了容器網(wǎng)絡(luò)的使用方式,新運(yùn)行的容器被加入到了 todo-app網(wǎng)絡(luò)里,同時(shí)這里指定了環(huán)境變量MYSQL_HOST=mysql,mysql是我們之前加入到todo-app網(wǎng)絡(luò)中的數(shù)據(jù)庫的"網(wǎng)名",通一網(wǎng)絡(luò)內(nèi)部的成員通過其各自?--network-alias 屬性指定的網(wǎng)絡(luò)別名就可以連接到對(duì)方。
????