我创建了一个 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