0. 前提条件
- OS:Windows10
- Docker Desktopがインストール済み。
1. マウントするディレクトリ作成
- docker-comopse.ymlと同じ階層に以下のフォルダを作成。
docker
└ sqlserver
├ data
├ log
└ secrets
2. docker-compose.yml作成
-
以下の通り作成。
-
imageは、以下のサイトで名前を確認。
-
volumesは、前項で作成したディレクトリを設定する。
version: '3'
services:
mssql:
image: mcr.microsoft.com/mssql/server:2019-latest
container_name: mssqlserver01
ports:
- 1433:1433
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=任意の文字列
- MSSQL_PID=Express
- MSSQL_LCID=1041
- MSSQL_COLLATION=Japanese_CI_AS
volumes:
- "./docker/sqlserver/data:/var/opt/mssql/data"
- "./docker/sqlserver/log:/var/opt/mssql/log"
- "./docker/sqlserver/secrets:/var/opt/mssql/secrets"
3. SQLServer Management Studioをインストール
- 以下のサイトからインストーラーをダウンロード。
- 管理者権限でインストーラーを実行。
- インストール中に、エラーが出た場合は、再起動して再度同じ手順を実行。
4. コンテナ作成と起動
- docker-compose.ymlが配置されたディレクトリで、以下を実行。
docker-compose up
5. StudioでSQLServerに接続
- 以下のログイン情報で接続。
- ポイントは以下。
Service type: Database Engine
Server name: localhost
Authentication: SQL Server Authentication
Login: sa
Password: [docker-composeで定義したパスワード]
6. StudioでDB作成
- StudioのエクスプローラーのDatabaseを右クリックしてデータベースを新規作成。
7. テーブル作成、テストデータ投入
- Studioで作成したDBを選択肢、クエリを作成。
- クエリに以下を貼り付けて、F5か実行ボタンを押す。
CREATE TABLE clients (
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
NAME NVARCHAR(20) NOT NULL,
UPDATE_AT DATETIME default CURRENT_TIMESTAMP
);
CREATE TABLE crews (
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
NAME NVARCHAR(20) NOT NULL,
UPDATE_AT DATETIME default CURRENT_TIMESTAMP
);
INSERT INTO clients (name) VALUES ('client1');
INSERT INTO clients (name) VALUES ('client2');
INSERT INTO crews (name) VALUES ('crew1');
INSERT INTO crews (name) VALUES ('crew2');
テーブルを選択して、データを抽出。
以上でコンテナ作成からデータ取得のテストまで。