gpt4 book ai didi

mysql - Bookshelf.js 未连接到正确的主机?

转载 作者:行者123 更新时间:2023-11-29 17:30:21 32 4
gpt4 key购买 nike

我正在开发一个已docker化的express.js应用程序。这是我提供给书架的配置信息。

{
"database_dev" : {
"client": "mysql",
"connection": {
"host": "DB",
"database": "TERRA_DEV",
"user": "dev",
"port": "3306",
"password": "goon",
"charset": "utf8",
"host": ""
}
},

"database_test" : {
"client": "mysql",
"connection": {
"host": "DB",
"database": "TERRA_TEST",
"user": "tester",
"port": "3306",
"password": "goon",
"charset": "utf8",
"host": ""
}
},
....

这是我正在运行的 docker-compose.test.yml 来尝试执行我的测试。

version: '2'
volumes:
services:
sut:
build: .
command: npm test
depends_on:
- web
web:
build: .
command: "npm start"
volumes:
- .:/usr/app/
- /usr/app/node_modules
ports:
- "3000:3000"
depends_on:
- redis
- DB
networks:
- web_sql_bridge

redis:
image: 'bitnami/redis:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
ports:
- '6379:6379'
DB:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD="goon"
- MYSQL_DATABASE="TERRA_TEST"
- MYSQL_DATABASE="TERRA_DEV"
- MYSQL_USER="tester"
- MYSQL_PASSWORD="goon"
ports:
- "3306:3306"
networks:
- web_sql_bridge
volumes:
appconf:

networks:
web_sql_bridge:
driver: bridge

这是错误

Error: connect ECONNREFUSED 127.0.0.1:3306
sut_1 | at Object._errnoException (util.js:1022:11)
sut_1 | at _exceptionWithHostPort (util.js:1044:20)
sut_1 | at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
sut_1 | --------------------
sut_1 | at Protocol._enqueue (/TerraServer/node_modules/mysql/lib/protocol/Protocol.js:145:48)
sut_1 | at Protocol.handshake (/TerraServer/node_modules/mysql/lib/protocol/Protocol.js:52:23)
sut_1 | at Connection.connect (/TerraServer/node_modules/mysql/lib/Connection.js:130:18)

基本上,正如您从上面看到的,我有一个 config.json,其中包含我在 JS 文件中获取的一些数据库信息,并将其作为参数提供给 bookshelf.js。这是在我的摩卡测试中使用的,它会抛出我发布的错误。该错误似乎表明它正在尝试连接到 127.0.0.1。为什么当我向 bookshelf.js 提供 DB 时,它会尝试连接到 127.0.0.1?

最佳答案

我发现了我的问题。结果我需要运行。

docker system prune -a

当我第二次构建时,它不会更新文件,并且我的配置文件位于图像后面,但不是它提取代码的存储库。

并且还删除了数据库环境周围的引号。

DB:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=goon
- MYSQL_DATABASE=TERRA_TEST
- MYSQL_DATABASE=TERRA_DEV
- MYSQL_USER=tester
- MYSQL_PASSWORD=goon

关于mysql - Bookshelf.js 未连接到正确的主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50711532/

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