错误原因:java.sql. SQL无效授权规范异常:无法连接到地址=(主机=mariadb)(端口=3306)(类型=master):(conn=6)拒绝访问

qcuzuvrc  于 2022-11-08  发布在  Java
关注(0)|答案(1)|浏览(109)

我尝试在Windows中使用docker-compose up -d来启动docker容器。但是我收到了关于mariadb连接问题的错误:**原因:异常错误:无法连接到地址=(主机=mariadb)(端口=3306)(类型=master):(conn=6)用户“cataloguser '@”172.22.0.9“的访问被拒绝(使用的密码:是)**我无法找出发生这种情况的确切原因。

4ioopgfo

4ioopgfo1#

您应该共享您的docker-compose.yml,以便更好地理解您的配置。
无论如何,(doc网络模式),你应该尝试network_mode: "host",因为你的数据库从一个IP验证用户。但是在Docker中,Docker引擎在它的“自己的子网”(doc here)中给出IP地址,每次你重建容器时,这个子网都会改变。你可以用172.22.0.9看到它。
因此,您应该使用network_mode: "host",以便在数据库中授权的地址是localhost。
要回答您的意见:

services:
  mssql:
    network_mode: host
    build:
      context: ./compose/mssql
      dockerfile: ./Dockerfile
    environment:
      ACCEPT_EULA: 'Y'
    env_file:
      - .env
    ports:
      - 1433:1433

相关问题