最近の仕事で、Amazon S3からファイルを取得するBashスクリプトを作成しました。そのときに、自分のパソコン環境でS3接続を検証するため、WSL(Windows Subsystem for Linux)とDockerをインストールしたので、その備忘録を残します。この記事の後編として、自分のパソコンにS3を擬似的に構築する記事も書きたいと思っています。
会社から支給されたWindowsマシンとDockerの相性が悪くて、これまでいまいち使いこなせなかったDockerですが、WindowsにWSLが搭載されてとても扱いやすくなった印象もありますので、これを機会に使いこなしていきたいと思います。
Hyper-V、WSL、仮想マシンプラットフォームを有効にする
まずはWSLをできるようにするために、「Windowsの機能の有効化または無効化」という設定画面から以下の設定を行います。
「Windowsの機能の有効化または無効化」画面の開き方
- コントロールパネルを起動「プログラム」を選択
- 「プログラムと機能」を選択
- 左のメニューから「Windowsの機能の有効化または無効化」を選択
該当の設定をチェック
以下のキャプチャのように設定を行う。
設定後、Windowsを再起動します。
PowerShellでコマンド実行
管理者としてPowerShellを起動し、以下のコマンドを実行します。
①WSLを有効化する
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
②仮想マシンプラットフォームのオプションコンポーネントを有効化する
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
③WSLのデフォルトバージョンを「2」に設定する
wsl --set-default-version 2
Ubuntuのインストールと設定
WSLの設定が終わったら、次はLinuxのディストリビューションである「Ubuntu」をインストールします。インストール自体はMicrosoftストアからできます。
Ubuntuをインストール
- 「Microsoft Store」を起動
- 検索窓に「Ubuntu」と入力し検索
- 使用したいディストリビューションを選ぶ
いくつか表示されますが、「Ubuntu」だけのものが最新版です。インストールしたいバージョンを選んだら、インストールを実行します。
Ubuntuインストール後の設定
Ubuntuをインストール後、WindowsのメニューにインストールされたUbuntuを起動すると、初期化がはじまるのでしばらく待ちます。起動後は「ユーザ名」と「パスワード」を設定しましょう。
確認と設定
これ以降は、Windowsのコマンドプロンプトで実施します。
LinuxディストリビューションとWSLバージョンの確認
wsl -l -v
→インストールされているバージョンが確認できます
Ubuntu bash起動
wsl
→これでUbuntuのbashシュルが起動でき、以降ここから作業を行います。
ダウンロード元を日本に設定
$ sudo sed -i 's/\/\/archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
$ sudo sed -i 's/\/\/us.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
$ sudo sed -i 's/\/\/fr.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
Ubuntuの更新と再起動
更新
$ sudo apt -y update
再起動
$ sudo apt -yV upgrade
日本語をインストール
$ sudo apt install -y language-pack-ja
日本語ロケール設定
$ sudo update-locale LANG=ja_JP.UTF8
タイムゾーン変更
以下を実行すると画面が切り替わるので、「東京」に設定する。
$ sudo dpkg-reconfigure tzdata
最後の設定は任意ですが、私が実行したコマンドを記載しておきました。特に悪さはしないと思うので、設定してみてはいかがかと思います。それでは、本題のDockerをインストールしましょう!
Dockerのインストール
Ubuntuのインストール・設定まで終わったので、いよいよDockerをインストールしていきます。先に説明した「Ubuntu bashを起動した状態」から作業を行いますので、コマンドプロンプトを起動して、「wsl」コマンドを実行しておきましょう。
Docker の公式 GPG 鍵を追加
以下の2つのコマンドを順番に実行。
①
sudo apt-get update
②
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Dockerの stable (安定版)リポジトリをセットアップ
以下のコマンドを実行。見様見真似w
sudo -E add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Docker CE をインストール
以下のコマンドを実行。見様見真似2w
sudo apt-get install docker-ce
Docker-compose をインストール
以下の2つのコマンドを順に実行。もちろん、見様見真似w
①
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
②
sudo chmod +x /usr/local/bin/docker-compose
sudoなしでDockerコマンドを実行する設定
便利になりそうなので、このコマンドも実行しておく。
sudo gpasswd -a <ユーザー名> docker
※ユーザー名は「whoami」コマンドで確認できる
まとめ
いろいろなサイトを参考にしながら、以上の手順でなんとかDockerをインストールすることができました。次はAmazon S3への接続を自分のパソコン内で検証するために、Dockerを利用した疑似S3環境構築を行っていきたいと思います。
参考にさせてもらったサイトには感謝しかありません(全部にお礼をいいたいですが、参照したサイトが多すぎるため、申し訳ないですが割愛させていただきます)。