我正在使用docker撰寫一個用asp.net核心,postgres和redis創建的web應用程序。我將所有的東西都設置爲使用我在docker-compose.yml文件中指定的服務名稱連接到postgres。當試圖用redis做同樣的事時,我得到一個異常。經過研究發現,這個例外是一個已知問題,解決方法是使用機器的IP地址而不是主機名。但是我無法弄清楚如何從撰寫文件中獲取redis服務的ip地址。有沒有辦法做到這一點?如何在Docker compse網絡中使用ipaddreses代替容器名稱
編輯
這裏是撰寫文件
version: "3"
services:
postgres:
image: 'postgres:9.5'
env_file:
- '.env'
volumes:
- 'postgres:/var/lib/postgresql/data'
ports:
- '5433:5432'
redis:
image: 'redis:3.0-alpine'
command: redis-server --requirepass devpassword
volumes:
- 'redis:/var/lib/redis/data'
ports:
- '6378:6379'
web:
build: .
env_file:
- '.env'
ports:
- "8000:80"
volumes:
- './src/edb/Controllers:/app/Controllers'
- './src/edb/Views:/app/Views'
- './src/edb/wwwroot:/app/wwwroot'
- './src/edb/Lib:/app/Lib'
volumes:
postgres:
redis:
你能告訴我們你的docker-compose文件嗎? – Gintoki
我已經添加了撰寫文件 – decapo
,您需要鏈接您的服務,然後通過和環境變量訪問它們[更多信息](https://docs.docker.com/compose/compose-file/#links) – Gintoki