【エンジニア向け】Macbook + DockerでSQLServerの環境を構築する

今回は、MacbookでSQLServerの環境を構築する記事を書いていきたいと思います。

SQLServerは、Microsoftが開発・運用しているデータベースサーバー、クライアントのため、基本的にはMacbook上では環境構築ができません。

しかし、dockerが登場したことで、Macbook上でも利用できるようになりました。

Macbook + DockerでSQLServerの環境を構築する

  1. 前提: Dockerの準備
  2. SQLServerの構築
  3. docker-composeコマンドで起動

1. 前提: Dockerの準備

まずは、MacbookにDockerをインストールする必要があります。

まだインストール出来ていない方は、以下の記事をご参照ください。

【エンジニア中級】MacbookにDockerを入れてNginxを動かしてみよう

macbookのターミナル上で、docker-composeコマンドが利用できていれば準備OKです。

2. SQLServerの構築

Dockerがインストール出来ていれば、次はDockerの中にSQLServerの設定を記載しています。

SQLServerは、Microsoftが公開しているDockerHubのサイトに記載があるので確認しましょう。

Microsoft SQL Server

今回は、2021年5月時点で最新の「2019-latest」のバージョンで環境を構築します。

まずは、インストールしたいミドルウェアを、Dockerfileというファイルに定義していきましょう。

FROM mcr.microsoft.com/mssql/server:2019-latest
ENV PATH $PATH:/opt/mssql-tools/bin

次に、docker-compose.ymlにdbの設定を書いていきましょう。

version: '3.1'

services:
  db:
    build:
      context: .
      dockerfile: sqlserver/Dockerfile
    container_name: mssql
    environment:
      - ACCEPT_EULA=Y
      - MSSQL_LCID=1041
      - MSSQL_COLLATION=Japanese_CI_AS
      - SA_PASSWORD=password001
    ports:
      - 1433:1433
    restart: on-failure

最終的なフォルダ構造は以下のような形になりました。

3.docker-composeコマンドで起動

最後は、Macbookからdocker-composeコマンドで立ち上げてみましょう。

ターミナルを開き、「docker-compose.yml」があるフォルダまで移動しましょう。

$ cd [移動先]

移動できたら、docker-composeコマンドで起動させます。

$ docker-compose up -d --build

以下のようにダウンロードが始まれば成功です。

$ docker-compose up -d --build
Building db
Step 1/1 : FROM mcr.microsoft.com/mssql/server:2019-latest
2019-latest: Pulling from mssql/server
04a5f4cda3ee: Pull complete
ff496a88c8ed: Pull complete
0ce83f459fe7: Pull complete
18147e02582b: Pull complete
32f0c0acc4b8: Extracting [=========================================>         ]  46.79MB/56.1MB
e036a29020fa: Downloading [==============>                                    ]  114.1MB/385.1MB
4ee3d995ce58: Download complete

完了したら、sqlserverが立ち上がっているか確認しましょう。

$ docker ps

mssqlという名前でコンテナが立ち上がっていれば成功です。

ついでにdockerにログインしてsqlserverにログインしてみましょう。

$ docker exec --user root -it $(docker ps -aqf "name=mssql") /bin/bash

上記コマンドで、rootユーザーで、dockerのコンテナ内にログインできます。

# sqlcmd -S 127.0.0.1 -U SA -P password001

1>

Dockerfileで、mssql-toolのパスを指定したため、dockerのコンテ内のどこでもsqlcmdコマンドが利用可能になっていることが確認できるかと思います。

※SAユーザーのパスワードが短いと、コンテナ起動後に定期的に落ちます。注意しましょう。

===============

以上、Macbook + docker-composeでpostgresを動かす方法を紹介してみました。

この情報が皆さんの人生のお役に立てれば幸いです。

エンジニアとして日本のITリテラシーを高めていきたいと共感して頂いた人は、是非このブログの拡散とyoutubeの方も見ていただけると嬉しいです。

記事を最後まで見ていただきありがとうございました。

執筆者: hiroエンジニア

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です