DockerでSQL Serverを実行する

eyecatch docker

Dockerを使って、SQLServer2019を実行する環境を構築します。Docker:SQL Server on Linux 用のコンテナーのインストール - SQL Server | Microsoft Docsに記載されている手順に従っていきます。

1. dockerイメージを取得する

docker pullでDockerHubからSQLServeのイメージを取得します。

$ docker pull mcr.microsoft.com/mssql/server:2019-latest

2. Dockerイメージからコンテナを起動する

docker runでコンテナを生成し、起動します。

$ docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-latest

パスワードは、下記のSQL Serverのパスワード要件を満たす必要があります。

--nameは無くても起動しますが、コンテナ名を付けておくと、後の操作が楽になるので、付けて起きました。

起動が完了すると、docker psでSQL Serverのコンテナが起動していることを確認出来ます。

$ docker ps
CONTAINER ID        IMAGE                                        COMMAND                  CREATED              STATUS              PORTS                    NAMES
8045f071854d        mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   About a minute ago   Up About a minute   0.0.0.0:1433->1433/tcp   sql1

3. コンテナに接続する

まずは、SQL Serverのコンテナに接続します。

$ docker exec -it sql1 bash

上記の--nameで設定したコンテナ名sql1で接続しています。

接続したら、SQL Serverを起動します。

$ /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password'

-Pオプションの後ろは、上記のコンテナ生成時に設定したパスワードですが、記号に!を使用している場合、ダブルクオート" "ではエスケープされなかったので、シングルクオート' 'で囲っています。

1>

というプロンプトが表示されれば、接続が出来ています。あとは、好きに実行してみて下さい。

4. SQL Serverとコンテナからログアウトする

SQL Serverからログアウトします。

1> QUIT

bashシェルを終了し、コンテナからログアウトします。

$ exit

Ref.

Microsoft SQL Server - Docker Hub[https://hub.docker.com/_/microsoft-mssql-server]

See Also