在尝试打开localhost:3000时,我遇到了带有postgres的Docker码头以下问题
could not connect to server: Connection refused Is the server running on host
"localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? could
not connect to server: Cannot assign requested address Is the server running
on host "localhost" (::1) and accepting TCP/IP connections on port 5432?
我正在使用的docker-compose文件下面
version: '3'
volumes:
postgres_data: {}
services:
redis:
image: redis
command: redis-server
ports:
- "6379:6379"
app:
build:
context: .
dockerfile: /Users/admin/git/generic/myapp/docker/app/Dockerfile
depends_on:
- db
ports:
- 3000:3000
db:
image: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
web:
build:
context: .
dockerfile: /Users/admin/git/generic/myapp/docker/web/Dockerfile
depends_on:
- app
ports:
- 80:80
任何人都可以帮忙吗?
答案 0 :(得分:0)
可能您必须在docker-compose中定义5432端口。
ports:
- 80:80
- 5432:5432
答案 1 :(得分:0)
对docker-compose.yml使用以下配置:
version: '3.5'
services:
redis:
image: redis
command: redis-server
ports:
- "6379:6379"
app:
build:
context: .
dockerfile: /Users/admin/git/generic/myapp/docker/app/Dockerfile
depends_on:
- db
ports:
- "3000:3000"
networks:
services-network:
aliases:
- app
web:
build:
context: .
dockerfile: /Users/admin/git/generic/myapp/docker/web/Dockerfile
depends_on:
- app
ports:
- "80:80"
networks:
services-network:
aliases:
- web
db:
image: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=db_name
expose:
- "5432"
networks:
services-network:
aliases:
- db
volumes:
postgres_data:
networks:
services-network:
name: services-network
driver: bridge