Help us understand the problem. What is going on with this article?

WSL + Docker + VSCode でSQLサーバーをお手軽に立てよう

WSL + Docker + VSCode でSQLサーバーをお手軽に立てよう

だいぶ説明雑なのは知り合いの初心者向けに書いたからです

それぞれの概要

  1. WSL(WSL2)
- Microsoftが提供する仮想環境Hyper-Vがベースに使われた、Linux環境をWindows上で構築するシステム。
- ほぼ完全なLinuxが動作するため、従来Windowsが弱点としていたバックエンド開発(サーバー等の開発)にてLinuxのソフトウェア資源がそのまま利用できるようになった。
  1. Docker

    • コンテナ型仮想環境といわれる仕組みの仮想ソフトウェア。
    • 今までの仮想マシンに比べ、クラウドなどのスタートが同じ環境を複数人が異なるデータで使う場面や、開発中のテストに使い捨て環境を構築することがやりやすいのが利点
  2. VSCode

    • 最近はやりのEditorの一角
    • エディタだが拡張機能が多くIDE並みの環境を簡単に構築できる
    • Terminalを開きながらDockerの管理をしてSQLサーバにつなぐなんてこともできる

WSLのインストール

  1. 管理者で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
    
  2. 再起動し、再び管理者で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
    
    
  3. MSStoreを開く

    わからなければWindows+Rでファイル名を指定して実行を開き、

    ms-windows-store:
    
    

    でもOK

  4. 検索ボタンを押し、Ubuntuと入力する

  • いくつかバージョンが出てくる(20.04など)が何もかいてないUbuntuを入手する

    • MSアカウントの設定がない場合、指示に従ってアカウントでログイン/サインアップする。
    • インストールが完了すると起動ボタンが出てくるのでクリック
  1. 初期設定

    1. Username: という表示になったらユーザー名、EnterするとPassword: となるのでパスワードを入力する
    2. しばらく待つ
    3. セットアップが終わるとユーザー名 ~ $ の表記になり、入力可能になる
    4. sudo apt update && sudo apt upgrade -y と入力し、中のアプリケーションのアップデートをする。
    5. sudo apt -y install language-pack-japanese-ja と入力し、日本語パックをインストールす
    6. sudo update-locale LANG=ja.JP.UTF8 と入力し、日本語を適用させる
    7. 一度ウインドウを閉じて、もう一度開くと日本語化が完了している。(スタートメニュー内のUbuntuから開ける)
    8. 完了

Dockerのインストール

  1. ダウンロードとインストール

    Powershellを開き

    curl "https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe" -outfile "Docker Desktop Installer.exe" -UseBasicParsing
    start "Docker Desktop Installer.exe"
    

と入力し指示にしたがってインストールし、再起動する

  1. Docker Hub にサインアップ
  • https://hub.docker.com/ を開き、サインアップの画面になったらID,Mail,Passwordを入力
  • メールアドレスにメールが届くので開いてVerifyする
  • 完了したらタスクトレイ内のDockerを押すとsignin...というボタンがあるのでクリックしてID,Passwordを入力
  1. Dockerを開き、設定を開き(ギアマーク)、Use WSL ~にチェックが入ってるのを確認する

  2. 終わり

VScode

  1. https://code.visualstudio.com/を開いてダウンロード、インストール

  2. 起動して拡張機能ボタンを押して(or Ctrl + Shift + x)検索欄にJapaneseと入れると言語パックがでてくるのでインストール

  3. VSCodeを再起動する

  4. 拡張機能からDocker、mssqlをインストールする

  5. 終わり

DockerにMSSQLパッケージを入れてVSCodeから触る

  1. VSCodeでCtrl + @ でターミナルをだし、

    
    docker login
    docker pull  mcr.microsoft.com/mssql/server:2019-CU5-ubuntu-16.04
    

    と入力するとインストールされる

  2. そのまま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サーバーが立ち上がる

  3. VSCodeのMSSQLの接続でアドレスはlocalhost、IDはsa、Passwordは今回はPassW@rdと入力してログイン

  4. SQLサーバーにログイン完了

終了

  1. VSCodeの左側にDockerのアイコンが追加されているので、クリック

  2. containersにSQL1があるので右クリックしてstop

  3. もう一度右クリックしてremoveすればまっさらな環境から再スタートできる

  4. removeしなければ次に触りたいときにここからstartすると前回の状態から再開できる

よくある質問

Q. 仮想環境内にファイルいれたい

A. docker cp ローカルのパス コンテナID:コンテナ内のパス でできるよ

Q.なんでこんなめんどくさいことするの?

A.新しい問題とかの時に前回のゴミが残るとそのほうが面倒くさいので

最後に

ファイアウォールとかに何か言われたら許可してください

インストールしてから書いているので違ったりするかもです
その時は教えてください

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした