今回は、MacbookでSQLServerの環境を構築する記事を書いていきたいと思います。
SQLServerは、Microsoftが開発・運用しているデータベースサーバー、クライアントのため、基本的にはMacbook上では環境構築ができません。
しかし、dockerが登場したことで、Macbook上でも利用できるようになりました。
Macbook + DockerでSQLServerの環境を構築する
- 前提: Dockerの準備
- SQLServerの構築
- docker-composeコマンドで起動
1. 前提: Dockerの準備
まずは、MacbookにDockerをインストールする必要があります。
まだインストール出来ていない方は、以下の記事をご参照ください。
【エンジニア中級】MacbookにDockerを入れてNginxを動かしてみよう
macbookのターミナル上で、docker-composeコマンドが利用できていれば準備OKです。
2. SQLServerの構築
Dockerがインストール出来ていれば、次はDockerの中にSQLServerの設定を記載しています。
SQLServerは、Microsoftが公開しているDockerHubのサイトに記載があるので確認しましょう。
今回は、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エンジニア