首页 > 解决方案 > 使用连接到服务器“db”上的数据库“”时发生错误。- 码头工人

问题描述

我正在尝试在 docker 上将 asp.net core + mysql 应用程序容器化,但是当我运行后端容器时出现此错误。

使用连接到服务器“db”上的数据库“”时发生错误。- 码头工人

平台和环境:

启动.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

标签: mysqldockerasp.net-coredocker-compose

解决方案


推荐阅读