0

我创建了一个 NodeJS 应用程序并构建了一个图像并运行它。在那个容器应用程序中,我试图从localhost(MySQL 位于host)访问 MySQL 数据库。但是,当我尝试访问它时,我收到以下错误

在此处输入图像描述

我从 StackOverflow 和其他资源中寻找了很多解决方案。但是,无法解决问题。即使我尝试使用以下命令从所有主机授予对用户 root 的访问权限

CREATE USER 'root'@'%' IDENTIFIED BY 'passw0rd';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

不过,我面临同样的问题。

码头工人文件:

FROM node:14
WORKDIR /usr/testapp
COPY package*.json ./
RUN npm install && npm install typescript -g
COPY . .
RUN tsc
CMD [ "node", "./dist/app.js" ]

你能帮我解决这个问题吗?

谢谢...

编辑:

ormconfig.json

{
   "type": "mysql",
   "host": "localhost",
   "port": 3306,
   "username": "root",
   "password": "passw0rd",
   "database": "hostelme",
   "synchronize": true,
   "logging": false,
   "entities": [
      "src/entity/**/*.ts"
   ],
   ...
}

构建和运行容器的命令:

docker build -t hnb-app .    # To build
docker run -p 3000:3000  hnb-app    # To run
4

0 回答 0