Salta el contingut

Docker: SQL Server + Adminer

Entorn de desenvolupament local amb SQL Server 2022 i Adminer orquestrats amb Docker Compose. Adminer és accessible al port 8891.


Estructura de fitxers

sqlserver-adminer/
└── docker-compose.yml

docker-compose.yml

services:

  sqlserver:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: sqlserver-gbd
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_SA_PASSWORD: "SqlServer2022!"
    volumes:
      - sqlserver_data:/var/opt/mssql
    networks:
      - sqlserver_net
    healthcheck:
      test:
        - "CMD-SHELL"
        - >
          /opt/mssql-tools18/bin/sqlcmd
          -S localhost -U sa -P 'SqlServer2022!'
          -Q 'SELECT 1' -No
      interval: 15s
      timeout: 10s
      retries: 8
      start_period: 30s
    restart: unless-stopped

  adminer:
    image: adminer:latest
    container_name: adminer-gbd
    environment:
      ADMINER_DEFAULT_SERVER: sqlserver
    ports:
      - "8891:8080"
    networks:
      - sqlserver_net
    depends_on:
      sqlserver:
        condition: service_healthy
    restart: unless-stopped

volumes:
  sqlserver_data:

networks:
  sqlserver_net:

Requisits de contrasenya de SQL Server

La contrasenya de sa ha de complir la política de complexitat de Windows: mínim 8 caràcters, amb majúscules, minúscules, dígits i caràcter especial. SqlServer2022! compleix aquests requisits.


Posada en marxa

docker compose up -d
docker compose ps

Obre el navegador a:

http://localhost:8891

Connexió a Adminer

Adminer mostra un formulari d'inici de sessió. Omple els camps:

Camp Valor
Sistema MS SQL
Servidor sqlserver
Usuari sa
Contrasenya SqlServer2022!
Base de dades (deixa buit per veure totes)

Fes clic a Entrar.


Crear la base de dades de treball

SQL Server no crea cap base de dades addicional automàticament. Un cop dins d'Adminer, executa:

CREATE DATABASE gbd
    COLLATE Modern_Spanish_CI_AS;

O des del terminal:

docker exec -it sqlserver-gbd \
  /opt/mssql-tools18/bin/sqlcmd \
  -S localhost -U sa -P 'SqlServer2022!' \
  -Q "CREATE DATABASE gbd COLLATE Modern_Spanish_CI_AS" -No

Credencials

Servei Camp Valor
SQL Server Usuari sa
SQL Server Contrasenya SqlServer2022!
SQL Server Port (host) 1433
Adminer URL http://localhost:8891
Adminer Sistema MS SQL

Entorn de desenvolupament

L'usuari sa (System Administrator) té privilegis totals. Adequat per a pràctiques locals; no l'usis en producció.


Connexió des del terminal

# sqlcmd des de dins del contenidor
docker exec -it sqlserver-gbd \
  /opt/mssql-tools18/bin/sqlcmd \
  -S localhost -U sa -P 'SqlServer2022!' -No

# Connectar directament a la BD gbd
docker exec -it sqlserver-gbd \
  /opt/mssql-tools18/bin/sqlcmd \
  -S localhost -U sa -P 'SqlServer2022!' -d gbd -No

Gestió del cicle de vida

docker compose stop
docker compose start
docker compose down
docker compose down -v   # esborra també les dades