zukucode
主にWEB関連の情報を技術メモとして発信しています。

SQL ServerをDockerで起動して別コンテナからアクセスする

SQL ServerDockerで起動して別コンテナからアクセスする方法を紹介します。

SQL Serverへの接続はVSCodeで行います。

SQL Serverコンテナの設定

ASP.NET(.NET Core)の開発環境をDockerで構築するで紹介したdocker-compose.ymlを以下のように編集します。

サービス名の「db」はSQL Serverに接続時に必要になるので、覚えておきます。

SA_PASSWORDは英数字や記号を使ったものにする必要があります。

docker-compose.yml
version: '3'
services:
  app:
    build: ./docker/app
    tty: true
    volumes:
      - ./app:/code
    depends_on:
        - db
  db:
    image: "mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04"
    environment:
      SA_PASSWORD: "Password@123"
      ACCEPT_EULA: "Y"

VSCodeから接続

VSCodeでappコンテナを開きます。

VSCodeDockerコンテナを開く方法はDocker コンテナをVSCodeで開いて開発環境を構築するで詳しく紹介しています。

また、SQL Serverに接続するためのVSCodeの拡張機能ms-mssql.mssql 1をインストールするように設定しておきます。

devcontainer.json
    "extensions": [
        "ms-dotnettools.csharp",
        "msjsdiag.debugger-for-chrome",
        "editorconfig.editorconfig",
		"ms-mssql.mssql"
    ],

接続をする前にからのファイルを開いておきます。

VSCodeで空のファイルを開いた状態

Ctrl+Shift+pでコマンドパレットを起動し、MS SQL:Connectを選択します。

vscode SQL Server接続手順1

現在開いているファイルの言語モードをSQLにする必要があるので「Yes」を選択します。

vscode SQL Server接続手順2

言語モードの選択モードになるので、「SQL」を選択します。

選択後、開いているファイルの言語モードがSQLになったことを確認できます。

vscode SQL Server接続手順3

接続情報を選択します。

過去に接続したことがある場合は接続設定の候補が出てきますが、初めて接続する場合は「Create Connection Profile」を選択します。

vscode SQL Server接続手順4

ホスト名を入力します。

SQL Serverコンテナのサービス名「db」を入力します。

vscode SQL Server接続手順5

データベース名を指定します。

初回接続時はデータベースは作成していないと思うので、未入力のままEnterをクリックします。

vscode SQL Server接続手順6

認証タイプが聞かれるので、SQL Loginを選択します。

vscode SQL Server接続手順7

ユーザー名は「sa」を入力します。

vscode SQL Server接続手順8

パスワードはdocker-compose.ymlで設定したSA_PASSWORDを入力します(上記のファイルの場合は「Password@123」)

vscode SQL Server接続手順9

パスワードを保存するか聞かれるので、保存する場合は「Yes」を選択します。

vscode SQL Server接続手順10

プロファイル名(接続情報を管理する名前)を設定する場合はプロファイル名を入力します。

vscode SQL Server接続手順11

SQL Serverの拡張機能のアイコンをクリックすると、SQL Serverに接続されていることが確認できます。

vscode SQL Server接続手順12

  • https://marketplace.visualstudio.com/items?itemName=ms-mssql.mssql

関連記事