我正在开发一个使用 Docker 部署 Node.js 后端和 PostgreSQL 数据库的项目。我有一个 docker-compose.yml 文件,用于运行这些服务。
当我将 docker-compose.yml 文件放在文件夹结构中的下一级时,一切正常。然而,当我把它提升到更高的水平时,我遇到了问题。
以下是 docker-compose.yml 文件向下一级时的工作配置:
version: '3'
services:
pg:
image: postgres:latest
environment:
POSTGRES_DB: postgres2
POSTGRES_USER: name1
POSTGRES_PASSWORD: pass
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5433:5432"
volumes:
- db-data:/var/lib/postgresql/data/pgdata
backend:
build:
context: .
dockerfile: DockerFile
ports:
- "3000:3000"
environment:
- NODE_ENV=development
- DB_HOST=pg
- DB_USER=name1
- DB_PASS=pass
- DB_NAME=postgres2
depends_on:
- pg
volumes:
db-data:
以下是 docker-compose.yml 文件向上一级时的配置:
version: '3'
services:
pg:
image: postgres:latest
environment:
POSTGRES_DB: postgres2
POSTGRES_USER: name1
POSTGRES_PASSWORD: pass
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5433:5432"
volumes:
- db-data:/var/lib/postgresql/data/pgdata
backend:
build:
context: ./backend
dockerfile: DockerFile
ports:
- "3000:3000"
environment:
- NODE_ENV=development
- DB_HOST=pg
- DB_USER=name1
- DB_PASS=pass
- DB_NAME=postgres2
depends_on:
- pg
volumes:
db-data:
需要对配置进行哪些更改才能使其在更高级别上工作?我的服务器启动,但是如果我通过邮递员访问文章,那么 "message": "relation \"Articles\" does not exist如果 docker-compose 仍然与我的项目位于同一目录中,那么带有预期数据的 json 将返回给我。