gpt4 book ai didi

node.js - docker中服务器和数据库之间的查询非常慢

转载 作者:行者123 更新时间:2023-12-03 12:18:16 26 4
gpt4 key购买 nike

我正在尝试使用 docker compose 设置一些集成测试。我正在使用 docker compose 来启动 postgres 数据库和 nodejs 服务器。然后我使用 jest 对服务器运行 http 请求。
由于某些原因,我无法解释所有 SQL 查询(即使是最简单的查询)都非常慢(+ 1s)。
这听起来像是两个容器之间的通信问题,但我无法发现它。难道我做错了什么?
这是我的docker-compose.yml文件。服务器只是一个简单的 express 应用

version: "3.9"
services:
database:
image: postgres:12
env_file: .env
volumes:
- ./db-data:/var/lib/postgresql/data
healthcheck:
test: pg_isready -U test_user -d test_database
interval: 1s
timeout: 10s
retries: 3
start_period: 0s
server:
build: .
ports:
- "8080:8080"
depends_on:
database:
condition: service_healthy
env_file: .env
environment:
POSTGRES_HOST: database
NODE_ENV: test
init: true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/healthcheck"]
interval: 1s
timeout: 10s
retries: 3
start_period: 0s
编辑
我正在使用
Docker version 20.10.2, build 2291f61
macOs BigSur 11.1 (20C69)

最佳答案

通过更改以下内容,尝试对数据文件夹使用 Volume 而不是 Bind Mount:

- ./db-data:/var/lib/postgresql/data
对此:
- db-data:/var/lib/postgresql/data
并将此部分添加到撰写文件的末尾:
volumes: 
db-data:
您可以阅读有关绑定(bind)挂载与卷的更多信息 here

关于node.js - docker中服务器和数据库之间的查询非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65875996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com