[英]Nestjs with postgres and redis on docker connection refused
使用docker-compose
時,容器不一定需要指定它們所在的網絡,因為它們可以從容器名稱(例如postgres
, redis
在您的情況下)相互訪問,因為它們位於同一網絡中。 有關詳細信息,請參閱Compose 中的網絡。
另外, expose
不做任何操作,是多余的。 由於您指定了ports
,因此告訴Docker
容器的哪些端口被暴露並綁定到主機的哪些端口應該綽綽有余。
對於redis-alpine
,啟動命令為redis-server
,無需再次指定。 此外,在這種情況下,您指定的環境是多余的。
嘗試以下docker-compose.yaml
並添加上述所有建議:
version: "3"
services:
postgres:
image: postgres:alpine
restart: always
ports:
- 5432:5432
volumes:
- ./db_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=root
- POSTGRES_DB=lighthouse
redis:
image: redis:alpine
restart: always
ports:
- 6379:6379
希望這可以幫助。 干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.