4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらのクラウドのWindows Server 2016でSQL Server for Dockerを動かした

Last updated at Posted at 2016-12-09

さくらのクラウドがWindows Server 2016の提供を開始したそうなので早速サーバを作ってWindows コンテナーでDockerしてみました。

さくらのクラウドにおける「Windows Server 2016」の提供開始について

サーバの作成自体はこれまで同じく、リモートコンソールから利用規約に同意しAdministratorのパスワードを設定して終わり。

作成が完了したWindows Serverに対してリモートデスクトップで接続したらここからの作業はPowershell上行っていきます。

Windows上でDockerを使うための準備

まずはPowershellのためのパッケージ管理用のモジュールのインストール

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

これが完了したら最新のDockerをインストールします。


Install-Package -Name docker -ProviderName DockerMsftProvider

インストール完了したらここで一旦サーバの再起動を行います。
ただ、仮想環境なので再起動早い!

再度リモートデスクトップで接続し、再度PowerShellを起動します。
試しにdockerと入力してどのように表示されるかを確認してみましょう。

img01.PNG

ちゃんとDockerコマンドが認識されています!

SQL Server for Windows コンテナを利用するための準備

さて、今度はSQL Serverのコンテナを準備します。
Microsoftが公式にDocker hubに公開しているものを活用します。

microsoft/mssql-server-windows

具体的にはこのコマンド

docker run -d -p 1433:1433 -e sa_password=****** -e ACCEPT_EULA=Y microsoft/mssql-server-windows

ちなみにファイルサイズは12GB位あるので気長に待ちます。

> docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
microsoft/mssql-server-windows   latest              307f05c5da18        3 weeks ago         12.8 GB

SQL Server Management Studioのインストール

この待ち時間にSQL Server Management Studio (SSMS)をインストールしておきましょう。最近はSQL Server本体とは独立してSSMSだけでもアップデートされるようになったんですね。
SQL Server Management Studio (SSMS) のダウンロード

コンテナに接続するための準備

さて、SQL Serverのコンテナのダウンロードが完了し実行状態になっているかと思います。

> docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                    NAMES
60ac2328f725        microsoft/mssql-server-windows   "cmd /S /C 'powers..."   About an hour ago   Up About an hour    0.0.0.0:1433->1433/tcp   grave_feynman

ではここにSSMSで接続。。。。しようと思ってもできません。
※私のやり方悪いだけできっと正しい方法はあると思います。教えてくださいm(_ _)m

SSMSで接続するためにコンテナに割り当てられているIPアドレスを確認する必要があります。


> docker exec -it 60ac2328f725 powershell

60ac2328f725 は上記docker psで確認したコンテナIDです。
するとちょっと配色のおかしなPowerShellの画面が表示差れます。

img03.PNG

ipconfig コマンドでIPv4を確認します。
今回であれば 172.20.194.39 が割り当てられていることが確認できました。

SSMSからコンテナ内のSQL Serverへの接続

先程インストールしたSSMSに戻って実際にDockerコンテナ上のSQL Serverに接続をしてみます。
img04.PNG

確認したIPアドレスをサーバ名にインストールして、SQL Server認証でログインにsaを設定し、コンテナ起動時に設定したパスワードを入力します。

img05.PNG

無事コンテナ上で動作しているSQL Serverに接続できました。
コンテナのサイズは巨大ですが都度インストールなどの手間を考えれば随分楽。Dockerを動かしているWindows Server 2016のデータベースファイルを参照させることもできるみたいですので、活用の幅広がりそう!

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?