[英]Define Ip of docker-compose file
我是Docker的新手,如果我的術語有點錯誤,請對不起。 我正在使我的應用程序在docker中運行。 一切都在正常啟動並正常運行,但是我無法設置運行服務的IP地址。 我需要這樣做,因為我正在進行api調用,該調用以前在js代碼中引用了靜態變量。 到目前為止,spark服務對於擁有一個已知的ip尤其重要,因為它是隨機分配的。
泊塢窗,compose.yml
version: '3.0' # specify docker-compose version
services:
vue:
build: client
ports:
- "80:80" # specify port mapping
spark:
build: accubrew-spark
ports:
- "8080:8080"
express:
build: server
ports:
- "3000:3000"
links:
- database
database:
image: mongo
ports:
- "27017:27017"```
當您使用docker-compose
運行容器時,它會為您創建一個用戶定義的網絡,而docker提供了一個嵌入式DNS服務器,每個容器僅在網絡的容器內具有可解析的記錄。
這使您僅通過使用您在docker-compose.yml
指定的名稱調用每個服務即可輕松知道如何聯系每個服務。
您可以嘗試以下方法:
version: '3.0' # specify docker-compose version
services:
vue:
build: client
ports:
- "80:80" # specify port mapping
spark:
build: accubrew-spark
ports:
- "8080:8080"
networks:
my_net:
ipv4_address: 172.26.0.3
express:
build: server
ports:
- "3000:3000"
links:
- database
database:
image: mongo
ports:
- "27017:27017"
networks:
my_net:
ipam:
driver: default
config:
- subnet: 172.26.0.0/16
但是您的spark端口是localhost:8080,如果您需要使用ip 172.26.0.0公開其他端口,則可以執行- "7077"
或localhost: -"7077:7077"
這是使用端口7077公開的示例:
version: '3.0' # specify docker-compose version
services:
vue:
build: client
ports:
- "80:80" # specify port mapping
spark:
build: accubrew-spark
ports:
- "8080:8080"
- "7077"
networks:
my_net:
ipv4_address: 172.26.0.3
express:
build: server
ports:
- "3000:3000"
links:
- database
database:
image: mongo
ports:
- "27017:27017"
networks:
my_net:
ipam:
driver: default
config:
- subnet: 172.26.0.0/16
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.