ASP.NET Core应用连接MariaDb Docker容器报错排查
本地正常运行的ASP.NET Core Web API,部署到服务器的Docker容器后报错:Table 'databasename.Table' doesn't exist.,数据库连接已建立,但无法访问表内容。
尝试过的连接字符串配置
"DefaultConnection":"server=localhost;port=3306;database=databaseName;uid=myUsername;password=Test1234;AllowZeroDateTime=True;"
"DefaultConnection":"server=172.17.0.2;port=3306;database=databaseName;..."
"DefaultConnection":"server=127.0.0.1;port=3306;database=databaseName;..."
尝试过的docker run命令
sudo docker run -p 5000:5000 -e ASPNETCORE_URLS=http://+:5000 -e DB_HOST=localhost -e DB_PORT=3306 -e DB_USER=test -e DB_PASSWORD=Test1234 -e DB_NAME=databaseName --name containerName
sudo docker run -p 5000:5000 -e ASPNETCORE_URLS=http://+:5000 -e DB_HOST=localhost -e DB_PORT=3306 -e DB_USER=test -e DB_PASSWORD=Test1234 -e DB_NAME=databaseName --network="host" --name containerName
... DB_HOST=172.17.0.2
... DB_HOST=127.0.0.1
已确认的权限情况
已为所有用户授予权限,且能正常访问数据库及表:
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | csvi | | information_schema | | mysql | | performance_schema | | databasename | | sys | +--------------------+ 6 rows in set (0.000 sec)
目前无从下手,不确定问题出在连接字符串、docker run命令还是其他地方?
内容的提问来源于stack exchange,提问作者romanok

