docker~yml里使用(yong)現(xian)有網絡
我們(men)在進行(xing)docker swarm部署高可(ke)用集群時(shi),在yml文件(jian)里可(ke)能(neng)要配置一(yi)些服務,而(er)這些服務可(ke)能(neng)要使(shi)用一(yi)些公(gong)用的數據庫,這些數據庫可(ke)能(neng)已經運行(xing)在某個容器(qi)(qi)(qi)里,而(er)這些容器(qi)(qi)(qi)有自己的網(wang)絡,docker inspect 容器(qi)(qi)(qi)ID 來查看容器(qi)(qi)(qi)所(suo)使(shi)用的網(wang)絡,使(shi)用docker network ls來查看目前docker所(suo)建(jian)立的網(wang)絡.
在yml的版本3里(li),我們來看(kan)一下如何使用現有的網絡
version: "3" services: nginx: image: nginx networks: - core-infra networks: core-infra: external: true
建立(li)mongodb,使用一(yi)個(ge)現有網絡,也(ye)是(shi)可以的(de)
version: "3" services: mongodb: image: mongo:latest ports: - "27017:27017" networks: - test-network networks: test-network: external: true #注意true和:之間有(you)個空格的
而如(ru)果不添加external參數(shu)的話,它將(jiang)建立一(yi)個(ge)(ge)新(xin)的網絡(luo),網絡(luo)的前綴(zhui)將(jiang)是一(yi)個(ge)(ge)服務名,這點要清楚!
文章(zhang)參考://www.dockerinfo.net/4245.html
感謝各位閱讀!