WSL + Docker + VSCode でSQLサーバーをお手軽に立てよう
だいぶ説明雑なのは知り合いの初心者向けに書いたからです
それぞれの概要
-
WSL(WSL2)
- Microsoftが提供する仮想環境Hyper-Vがベースに使われた、Linux環境をWindows上で構築するシステム。
- ほぼ完全なLinuxが動作するため、従来Windowsが弱点としていたバックエンド開発(サーバー等の開発)にてLinuxのソフトウェア資源がそのまま利用できるようになった。
-
Docker
- コンテナ型仮想環境といわれる仕組みの仮想ソフトウェア。
- 今までの仮想マシンに比べ、クラウドなどのスタートが同じ環境を複数人が異なるデータで使う場面や、開発中のテストに使い捨て環境を構築することがやりやすいのが利点
-
VSCode
- 最近はやりのEditorの一角
- エディタだが拡張機能が多くIDE並みの環境を簡単に構築できる
- Terminalを開きながらDockerの管理をしてSQLサーバにつなぐなんてこともできる
WSLのインストール
-
管理者でPowerShellをひらき(Windows + x からPowershell(管理者))、以下のコマンドを一行ずつ入力する。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
再起動し、再び管理者でPowershellを開く
curl "https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi" -Outfile wsl_update_x64.msi -UseBasicParsing start wsl_update_x64.msi wsl --set-default-version 2
-
MSStoreを開く
わからなければWindows+Rでファイル名を指定して実行を開き、
ms-windows-store:
でもOK
-
検索ボタンを押し、Ubuntuと入力する
-
いくつかバージョンが出てくる(20.04など)が何もかいてないUbuntuを入手する
-
MSアカウントの設定がない場合、指示に従ってアカウントでログイン/サインアップする。
-
インストールが完了すると起動ボタンが出てくるのでクリック
-
-
初期設定
-
Username: という表示になったらユーザー名、EnterするとPassword: となるのでパスワードを入力する
-
しばらく待つ
-
セットアップが終わるとユーザー名 ~ $ の表記になり、入力可能になる
-
sudo apt update && sudo apt upgrade -y と入力し、中のアプリケーションのアップデートをする。
-
sudo apt -y install language-pack-japanese-ja と入力し、日本語パックをインストールす
-
sudo update-locale LANG=ja.JP.UTF8 と入力し、日本語を適用させる
-
一度ウインドウを閉じて、もう一度開くと日本語化が完了している。(スタートメニュー内のUbuntuから開ける)
-
完了
-
Dockerのインストール
-
ダウンロードとインストール
Powershellを開き
curl "https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe" -outfile "Docker Desktop Installer.exe" -UseBasicParsing start "Docker Desktop Installer.exe"
と入力し指示にしたがってインストールし、再起動する
-
Docker Hub にサインアップ
- https://hub.docker.com/ を開き、サインアップの画面になったらID,Mail,Passwordを入力
- メールアドレスにメールが届くので開いてVerifyする
- 完了したらタスクトレイ内のDockerを押すとsignin...というボタンがあるのでクリックしてID,Passwordを入力
-
Dockerを開き、設定を開き(ギアマーク)、Use WSL ~にチェックが入ってるのを確認する
-
終わり
VScode
-
https://code.visualstudio.com/を開いてダウンロード、インストール
-
起動して拡張機能ボタンを押して(or Ctrl + Shift + x)検索欄にJapaneseと入れると言語パックがでてくるのでインストール
-
VSCodeを再起動する
-
拡張機能からDocker、mssqlをインストールする
-
終わり
DockerにMSSQLパッケージを入れてVSCodeから触る
-
VSCodeでCtrl + @ でターミナルをだし、
docker login docker pull mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-16.04
と入力するとインストールされる
-
そのままVSCodeのターミナルに
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=PassW@rd" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-16.04
と入力するとSQLサーバーが立ち上がる
-
VSCodeのMSSQLの接続でアドレスはlocalhost、IDはsa、Passwordは今回はPassW@rdと入力してログイン
-
SQLサーバーにログイン完了
終了
-
VSCodeの左側にDockerのアイコンが追加されているので、クリック
-
containersにSQL1があるので右クリックしてstop
-
もう一度右クリックしてremoveすればまっさらな環境から再スタートできる
-
removeしなければ次に触りたいときにここからstartすると前回の状態から再開できる
よくある質問
Q. 仮想環境内にファイルいれたい
A. docker cp ローカルのパス コンテナID:コンテナ内のパス でできるよ
Q.なんでこんなめんどくさいことするの?
A.新しい問題とかの時に前回のゴミが残るとそのほうが面倒くさいので
最後に
ファイアウォールとかに何か言われたら許可してください
インストールしてから書いているので違ったりするかもです
その時は教えてください