mysql - 使用连接到服务器“db”上的数据库“”时发生错误。- 码头工人
问题描述
我正在尝试在 docker 上将 asp.net core + mysql 应用程序容器化,但是当我运行后端容器时出现此错误。
使用连接到服务器“db”上的数据库“”时发生错误。- 码头工人
平台和环境:
- 适用于 Windows 10 的 Docker
- ASP.NET 核心 3.1
- mysql 5.7.22
- 项目清单
- 部署在 Linux 上
- EF 核心
- Pomelo.EntityFrameworkCore.MySql 5.0.1
启动.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<MySqlDbContext>(
options => options.UseMySql(
Configuration.GetConnectionString("MySql"),
mySqlOptionsAction => mySqlOptionsAction.EnableRetryOnFailure()
));
}
应用设置.json
"ConnectionStrings": {
"MySql": "server=db;database=MySqlDbContext;uid=root;pwd=123456;"
}
Dockerfile
FROM mcr.microsoft.com/dotnet/core/sdk:3.1
WORKDIR /app
COPY . /app
RUN dotnet restore
EXPOSE 5000
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet","run"]
docker-compose.yaml
version: '2'
services:
db:
container_name: hello.db
image: mysql:5.7.22
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./mysql:/var/lib/mysql
web:
container_name: hello.web
build: .
depends_on:
- db
links:
- db
reverse-proxy:
container_name: hello.proxy
image: nginx
depends_on:
- web
ports:
- "9090:8080"
volumes:
- ./proxy.conf:/etc/nginx/conf.d/default.conf
解决方案
推荐阅读
- vba - 如果表中的数据发生更改,如何更新?
- r - 使用具有重复类别的 ggplot 重新排序条形图
- java - WSL2(Windows 10)上的 minikube - minikube ip 无法访问
- reactjs - 从 JSX 花括号返回函数
- reactjs - 安装 react-router-hash-link 后,Navbar collapseOnSelect 已停止工作
- angular - NgIf 数据正在加载,但一开始没有显示数据
- php - Yii2 - yii2 作为 wordpress 中的子文件夹和带有站点索引的自定义表单,导致 400error
- python - 使用 Django 为多个反向外键选择相关和预取相关?
- docker - Docker stats 显示的内存使用量少于 top 命令的输出
- python - 参数:{ scale_pos_weight } 可能不会被使用