TimWolla / docker-adminer

Database management in a single PHP file
https://hub.docker.com/_/adminer/
157 stars 69 forks source link

Error connecting to MS SQL Server 2019 running in a docker container #130

Open Lancer92 opened 1 year ago

Lancer92 commented 1 year ago

I use next docker-compose instructions.

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2019-latest
    ports:
      - ${DATABASE_PORT}:1433
    volumes:
      - ./.data/db:/var/lib/mssql/data
    environment:
      ACCEPT_EULA: -Y
      MSSQL_SA_USER: ${DATABASE_USERNAME}
      MSSQL_SA_PASSWORD: ${DATABASE_PASSWORD}
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

However, it works from code (Node.js, TypeORM) but it's shows error when trying to connect from adminer: SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (localhost) (severity 9)

OS: macOS 12.6 browser: Chrome Version 108.0.5359.98 (Official Build) (x86_64)
 NodeJS: 18.12.1

TimWolla commented 1 year ago

I'm afraid I won't be able to assist with that, because I don't have any MS SQL experience at all.

KUT0K1 commented 1 year ago

You need to use the container name instead of localhost. With "container_name:" you can also define this permanently.

Example:

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: db-mssql
    ports:
      - ${DATABASE_PORT}:1433
    volumes:
      - ./.data/db:/var/lib/mssql/data
    environment:
      ACCEPT_EULA: -Y
      MSSQL_SA_USER: ${DATABASE_USERNAME}
      MSSQL_SA_PASSWORD: ${DATABASE_PASSWORD}

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080