婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺談docker-compose網絡設置之networks

淺談docker-compose網絡設置之networks

熱門標簽:400電話申請找哪家公司 地圖標注需要提交啥資料入駐 昆明外呼系統 臨汾電銷機器人費用 地圖標注w是什么方向 七大洲地圖標注 福州呼叫中心外呼系統哪家好 河南省鄭州市地圖標注 新鄉人工智能電話機器人加盟

networks使用方式之官網教程

官網的docker-compose.yml參考文檔:Compose file version 3 reference

較為準確的中文翻譯版:Compose file version 3 reference

networks通常應用于集群服務,從而使得不同的應用程序得以在相同的網絡中運行,從而解決網絡隔離問題。這種應用在swarm部署中,非常常見。不過,本文并不做討論。

一般對于集群服務,常常通過docker-compose.yml文檔快速編排、部署應用服務。官網中給出了如下的使用場景和方式:

1. 未顯式聲明網絡環境的docker-compose.yml

例如,在目錄app下創建docker-compose.yml,內容如下:

version: '3'
services:
 web:
  mage: nginx:latest
  container_name: web
  depends_on:
   - db
  ports:
   - "9090:80"
  links:
   - db
 db:
  image: mysql
  container_name: db1234567891011121314

使用docker-compose up啟動容器后,這些容器都會被加入app_default網絡中。使用docker network ls可以查看網絡列表,docker network inspect <container id>可以查看對應網絡的配置。

$ docker net work ls
NETWORK ID     NAME           DRIVER       SCOPE
6f5d9bc0b0a0    app_default       bridge       local
0fb4027b4f6d    bridge          bridge       local
567f333b9de8    docker-compose_default  bridge       local
bb346324162a    host           host        local
a4de711f6915    mysql_app        bridge       local
f6c79184ed27    mysql_default      bridge       local
6358d9d60e8a    none           null        local
12345678910

2. networks關鍵字指定自定義網絡

例如下面的docker-compose.yml文件,定義了front和back網絡,實現了網絡隔離。其中proxy和db之間只能通過app來實現通信。其中,custom-driver-1并不能直接使用,你應該替換為host, bridge, overlay等選項中的一種。

version: '3'

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"123456789101112131415161718192021222324252627

值得注意的是,這里定義了back和front兩個網絡,似乎它們的名字就定義成了back和font,但是你使用docker network ls命令并不能找到它們。假如你是在myApp目錄下運行的docker-compose up命令,那么這兩個網絡應該分別對應myApp_backmyApp_front。

3. 配置默認網絡

version: '2'

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

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

4. 使用已存在的網絡

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

遇到的問題

學習了上面的東西,筆者準備將自己的項目付諸實踐。我的項目包含了兩個docker-compose.yml,且使用了links選項,所以必須使用networks配置。

其中,一個docker-compose.yml用于啟動mysql服務,位于mysql/目錄下:

 version: "3"
services:
 dbmaster:
  image: master/mysql:latest
  container_name: dbmaster
  ports:
   - "3308:3306"
  volumes:
   - $HOME/Work/data/dbmaster:/var/lib/mysql
  environment:
   MYSQL_ROOT_PASSWORD: master
  logging:
   driver: "json-file"
   options:
    max-size: "1000k"
    max-file: "20"
  networks:
   - app

 dbslave:
  image: slave/mysql:latest
  container_name: dbslave
  ports:
   - "3309:3306"
  depends_on:
   - dbmaster
  volumes:
   - $HOME/Work/data/dbslave:/var/lib/mysql
  environment:
   MYSQL_ROOT_PASSWORD: slave
  logging:
   driver: "json-file"
   options:
    max-size: "1000k"
    max-file: "20"
  links:
   - dbmaster
  networks:
   - app
networks:
  default:
  external:
   name: app12345678910111213141516171819202122232425262728293031323334353637383940414243

另一個docker-compose.yml用于啟動服務程序,位于cloudgo/目錄下:

version: "3"
services:
 web:
  image: nginx:latest
  container_name: web
  depends_on:
   - cloudgo
  ports:
   - "9090:80"
  volumes:
   - $HOME/Work/docker/docker-compose/nginx/conf.d:/etc/nginx/conf.d
  links:
   - cloudgot
  logging:
   driver: "json-file"
   options:
    max-size: "1000k"
    max-file: "20"
  networks:
   - app

 cloudgo:
  image: cloudgo:latest
  container_name: cloudgo
  ports:
   - "8080:8080"
  logging:
   driver: "json-file"
   options:
    max-size: "1000k"
    max-file: "20" 
  external_links:
   - dbmaster
   - dbslave
  networks:
   - app
networks:
 app:
  external: true123456789101112131415161718192021222324252627282930313233343536373839

我決定使用預先創建的網絡,然后把他們加入這個已經創建好的網絡,從而實現通信。為此,我運行了如下命令:

$ docker network create app1

之后,開始運行編寫好的docker-compose.yml文件。首先運行啟動mysql的配置文件,結果如下:

l$ docker-compose up
ERROR: Service "dbmaster" uses an undefined network "app"12

明明已經創建好了,卻還是報了錯,說該網絡未定義。嘗試改變名稱mysql_app,但是依舊報出同樣的錯誤。最終證明,這種方法無法實現,至今沒有找到官方文檔給出的例子。

所以,最終決定將第一個docker-compose.yml文件中的networks配置改為如下內容:

networks:
  mysql_app:
   driver: bridge123

在這個文件中定義一個網絡,以便在后面使用。這里修改完畢,該文件其他地方凡是引用到了該網絡的地方均要作出相同的修改。同樣,第二個文件也一樣。

其他的一些用法

使用aliases代替link

一般的使用格式如下:

services:
 some-service:
  networks:
   some-network:
    aliases:
     - alias1
     - alias3
   other-network:
    aliases:
     - alias212345678910

在下面的例子中,我的web容器可以直接通過database:3306或者db:3306訪問db容器了。它們同時屬于一個網絡,并且db設置了主機別名,所以這樣的訪問方式是完全可以的。

version: '2'

services:
 web:
  depends_on:
   - worker
  networks:
   - new

 worker:
  depends_on:
   - db
  networks:
   - legacy

 db:
  image: mysql
  networks:
   new:
    aliases:
     - database
   legacy:
    aliases:
     - mysql
networks:
 new:
 legacy:123456789101112131415161718192021222324252627

此時直接使用depends_on已經不再需要link,如果woker需要訪問db,可以直接通過mysql:port的方式。

使用networks的要點在于:
1. 注意自定義網絡的方式
2. 注意docker-compose.yml文件的位置與網絡默認命名的關系
3. 注意遇到問題嘗試幾種替代方式去解決

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:烏海 四川 臨沂 股票 岳陽 紅河 鎮江

巨人網絡通訊聲明:本文標題《淺談docker-compose網絡設置之networks》,本文關鍵詞  淺談,docker-compose,網絡,設,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談docker-compose網絡設置之networks》相關的同類信息!
  • 本頁收集關于淺談docker-compose網絡設置之networks的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99免费精品在线| 26uuu色噜噜精品一区| 欧美激情在线一区二区| 91精品一区二区三区久久久久久| 92精品国产成人观看免费 | 亚洲自拍另类综合| 自拍偷拍国产亚洲| 亚洲蜜臀av乱码久久精品| 综合精品久久久| 亚洲最大色网站| 肉色丝袜一区二区| 精品无人区卡一卡二卡三乱码免费卡 | 天堂一区二区在线免费观看| 婷婷久久综合九色综合绿巨人| 亚洲成人资源在线| 日本成人在线一区| 国产美女一区二区| 91香蕉视频黄| 欧美日韩国产免费一区二区 | 欧美xxxxx牲另类人与| 欧美一区二区三区四区视频| 久久久亚洲欧洲日产国码αv| 久久久久9999亚洲精品| 国产精品高潮呻吟久久| 亚洲午夜精品17c| 美日韩一区二区三区| 成人中文字幕在线| 欧美亚洲一区二区在线| 日韩精品一区二区三区蜜臀| 欧美国产精品v| 亚洲成人三级小说| 国产99久久久国产精品潘金网站| 色婷婷av一区二区三区软件| 88在线观看91蜜桃国自产| 久久久久高清精品| 亚洲一区二区综合| 福利电影一区二区三区| 欧美剧情电影在线观看完整版免费励志电影| 日韩欧美中文字幕精品| 国产精品国产精品国产专区不蜜| 亚洲成人av一区二区三区| 国产高清在线观看免费不卡| 欧美日韩亚洲综合在线 | 欧美日韩国产综合久久| 久久久久久电影| 日本欧美在线看| 成人福利视频网站| 欧美成人艳星乳罩| 亚洲国产一二三| 成人中文字幕合集| 欧美精品一区二区久久久| 一区二区三区成人在线视频| 成人精品亚洲人成在线| 精品国产露脸精彩对白| 五月天视频一区| 91久久精品日日躁夜夜躁欧美| 欧美国产欧美综合| 国内精品伊人久久久久av一坑| 欧美色图一区二区三区| 中文字幕在线观看不卡视频| 国产美女精品在线| 久久久久久久久久美女| 久久av中文字幕片| 日韩欧美电影一区| 天天av天天翘天天综合网| 欧美亚洲一区二区在线观看| 亚洲女与黑人做爰| 色综合久久综合中文综合网| 中文字幕一区二区三区色视频| 国产suv精品一区二区6| 久久久一区二区三区| 黄色资源网久久资源365| 欧美一区二区三区在线看| 午夜av区久久| 欧美精品 国产精品| 肉色丝袜一区二区| 欧美一区二区三区四区高清| 久久国产精品免费| 精品福利一二区| 国产成人精品一区二| 国产日韩av一区| 91在线视频播放| 亚洲综合av网| 欧美刺激午夜性久久久久久久| 蜜臀91精品一区二区三区| 日韩欧美一区电影| 国产精品小仙女| 国产精品国产三级国产普通话三级| 粉嫩aⅴ一区二区三区四区五区 | 欧美色手机在线观看| 亚洲高清免费视频| 日韩美女视频在线| 国产suv精品一区二区6| 一区二区三区久久久| 欧美精品三级日韩久久| 国产一区二区在线电影| 中文字幕电影一区| 欧美日韩精品三区| 国产激情91久久精品导航| 国产精品灌醉下药二区| 欧美理论电影在线| 国产精一品亚洲二区在线视频| 中文字幕色av一区二区三区| 欧美色图激情小说| 成人一级片在线观看| 亚洲成人av一区| 久久精品无码一区二区三区| 在线一区二区三区四区五区| 精品在线免费观看| 亚洲麻豆国产自偷在线| 久久久噜噜噜久久人人看| 在线免费亚洲电影| 国内精品伊人久久久久av影院 | 欧美福利一区二区| 成熟亚洲日本毛茸茸凸凹| 日韩 欧美一区二区三区| 中文字幕一区av| 久久综合色综合88| 色噜噜狠狠成人网p站| 国产剧情一区在线| 蜜桃一区二区三区四区| 玉米视频成人免费看| 国产欧美精品一区| 日韩欧美国产小视频| 欧美亚洲丝袜传媒另类| 粉嫩av亚洲一区二区图片| 精品制服美女丁香| 毛片基地黄久久久久久天堂| 一区二区三区**美女毛片| 日本一区二区三区在线观看| 欧美电影免费提供在线观看| 欧美无人高清视频在线观看| 成人精品高清在线| 国产69精品久久99不卡| 久久电影国产免费久久电影 | 国产欧美日韩视频一区二区 | 亚洲国产精品久久一线不卡| 1区2区3区精品视频| 国产欧美久久久精品影院| 亚洲精品一区二区三区精华液| 69成人精品免费视频| 911精品国产一区二区在线| 色婷婷激情久久| 欧美主播一区二区三区美女| 色综合欧美在线| 在线观看日韩一区| 欧美伊人久久久久久久久影院| 欧美性猛交xxxx乱大交退制版| 色综合天天综合网天天狠天天| 色婷婷久久久亚洲一区二区三区| 91在线免费播放| 欧美探花视频资源| 91精品国产丝袜白色高跟鞋| 欧美日本一区二区| 欧美v国产在线一区二区三区| 精品国产麻豆免费人成网站| 久久综合久久综合亚洲| 中文字幕av资源一区| 亚洲啪啪综合av一区二区三区| 亚洲欧美日韩国产综合在线| 亚洲精品国产一区二区精华液 | 日韩欧美在线观看一区二区三区| 精品少妇一区二区三区在线播放 | 亚洲综合色噜噜狠狠| 午夜视频在线观看一区二区三区| 全部av―极品视觉盛宴亚洲| 精油按摩中文字幕久久| 成人福利视频在线| 欧美精品一卡二卡| 精品电影一区二区三区| 中文字幕一区二区在线播放| 亚洲一区二区三区在线播放| 青草av.久久免费一区| 国产福利精品导航| 欧美吻胸吃奶大尺度电影 | 99国产精品一区| 欧美日韩精品欧美日韩精品| 久久综合九色综合久久久精品综合| 国产精品高潮呻吟久久| 日韩av中文在线观看| 国产成人免费视频网站高清观看视频| 91污片在线观看| 日韩欧美中文字幕制服| 椎名由奈av一区二区三区| 日韩制服丝袜av| 成人高清视频在线观看| 欧美一区二区三区在线观看| 亚洲欧洲在线观看av| 久久99精品久久久久婷婷| 91啪亚洲精品| 久久久不卡影院| 婷婷六月综合网| 99re热这里只有精品视频| 精品久久人人做人人爽| 亚洲一区二区美女| 波多野结衣在线一区| 日韩一区二区免费在线观看| 亚洲欧美一区二区视频| 极品瑜伽女神91| 欧美一区二区视频在线观看2022|