【发布时间】:2022-11-04 04:02:29
【问题描述】:
我正在尝试在 docker 桌面上运行没有任何错误的图像容器。 当我尝试在 Digital Ocean 上运行相同的命令和存储库时,我收到了这个错误
error: connect ECONNREFUSED 127.0.0.1:3306
Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16)
--------------------
at Protocol._enqueue (/app/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/app/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at Connection.connect (/app/node_modules/mysql/lib/Connection.js:116:18)
at /app/node_modules/knex/lib/dialects/mysql/index.js:56:18
at new Promise (<anonymous>)
at Client_MySQL.acquireRawConnection (/app/node_modules/knex/lib/dialects/mysql/index.js:51:12)
at create (/app/node_modules/knex/lib/client.js:237:39)
error Command failed with exit code 1.
码头工人撰写:
version: "3"
services:
mysql:
image: mysql
command: mysqld --default-authentication-plugin=mysql_native_password
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: strapi
MYSQL_DATABASE: strapi
MYSQL_USER: strapi
MYSQL_PASSWORD: strapi
strapi:
image: strapiproje:latest
environment:
DATABASE_CLIENT: mysql
DATABASE_HOST: mysql
DATABASE_PORT: 3306
DATABASE_NAME: strapi
DATABASE_USERNAME: strapi
DATABASE_PASSWORD: strapi
DATABASE_SSL: "false"
volumes:
- ./app:/srv/app
ports:
- "1337:1337"
depends_on:
- mysql
我也尝试 DATABASE_HOST: 127.0.0.1 但没有任何改变有人对我有任何建议吗?
【问题讨论】:
-
你确定它在本地有效吗?
DATABASE_HOST设置对我来说不合适;我希望它需要是其他 Compose 服务的名称mysql。另见Docker - SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306。 -
实际上,我首先将其设置为 DATABASE_HOST : mysql 但也会发生此错误。无论如何我会再试一次
标签: docker digital-ocean strapi