見出し画像

Docker EngineをWSLへインストールする方法

こんにちは。株式会社D4cプレミアムでデータサイエンティストをしている3年目社員の瀬戸です。今回は、私が業務などで使用している開発環境である「Docker」について、無償で利用可能な「Docker Engine」をWSL環境へインストールする方法を紹介します。

※WSL環境の構築方法についてはこちらの記事をご覧ください↓


Dockerとはなにか

Dockerはコンテナ型の仮想環境を構築するプラットフォームです。ホストOS型の仮想環境を提供するVirtualBoxなどのソフトよりも必要最小限のCPUやメモリしか使用しないので軽量です。


なぜDockerがおすすめなのか

コンテナ仮想環境を構築すれば、コンテナ上で様々なアプリケーション開発や実験を行ったとしても、アプリケーション同士が干渉して起こる不具合を防げます。
例えばバージョンの異なるPythonを入れて動作を確認したい際に、自身のローカルPC上でPythonを入れたり消したりすると、特定のファイルが参照できないなどの不具合が生じます。
この不具合は今後の開発の際、ボトルネックになり続けてしまう可能性が高いです。一方で、Dockerのコンテナは上手くいかなければ消して作り直せば良いだけなので、ローカルの実行環境を破壊する心配がありません。

Dockerはコンテナ情報をテキストファイルとして他者に渡せるので、他者のPCでも自身のPCと同様の環境を構築できます。業務にてチームで開発する際、このような環境の移植性が高い点が重宝されます。


Docker Engineの導入(hands on)

今回は実際にDocker Engineをインストールし、コンテナを構築する準備を整えます。前提条件はWSL環境の構築方法について紹介した記事を通して導入した、WSL2 の環境が利用できることです。WSL2が未導入の方はそちらから始めてみてください。また、WSLのディストリビューションとしてUbuntu20.04が選択されている前提になります。併せてご確認ください。(上記記事に倣えば問題ありません)

今回は以下のサイトを参考にDocker Engineを導入します。

インストールを始めましょう。出典元の記事を参照しながら実行してみてください。
まずはリポジトリ内のパッケージ情報を更新します。

次に事前にDocker Engineのインストールに必要な、各種パッケージをインストールします。

次に/etc/apt/keyringsというディレクトリを、各種権限を設定しつつ作成します。

Dockerの公開鍵をダウンロードし、それを /etc/apt/keyrings/docker.gpg ファイルに保存するためのコマンドです。上記は2つのコマンドが”|”でつながれた形になっています。”|”は前半部の出力を後半部の入力とします。ここでは、Dockerの公開鍵をダウンロードし、docker.gpgとして/etc/apt/keyringsディレクトリに保存しています。
※gpg: GNU Privacy Guard(GnuPG)の略で、暗号化やデジタル署名を含む暗号通信を提供するためのツールです。このコマンドでは、公開鍵を変換するために使用されます。

上記のコマンドで生成→格納した公開鍵の権限を設定しています。chmodコマンドに”a+r”オプションを追加することで、すべてのユーザーに指定したファイルに対する読み取り権限をつける意味になります。

一見すると複雑で何をしているかわかりませんが、先ほどと同様”|”で結合されたコマンドであることがわかります。前半はecho ~ であり、文字列を出力しそれを/etc/apt/sources.list.d/docker.listに書き込んでいることがわかります。

書き込んでいる内容を確認してみます。
“deb”はapt-getでインストールできるリストにDockerの情報を追加しています。

先ほどの追加情報を利用するために、更新します。

最後にDocker Engineをインストールします。
Docker Engineのコアである”docker-ce”などのパッケージを一通りインストールします。
※話がそれますが、コンテナ管理ツールであるdocker compose を利用される場合は、上記のコマンド末尾に”docker-compose”を追加します。

ここまでで、一旦Docker Engineのインストールは終了です
きちんとinstallできているか確認してみましょう。

このような画面が確認できれば問題なくDocker Engineが動作しています。

最後にテストとして、コンテナを立ち上げてみます。

上記のようなメッセージが表示されていれば適切にインストール完了です。


PC再起動時の対応:Docker Engineの起動

再起動時にはDockerのサービスを開始する必要があります。

上記のコマンドを順番に実行し、「Docker is running」が表示されているか確認してください。


まとめ

クライアントワークの場合、実務者は分析スキルだけでなく多くのITスキルを身につけなければいけないと考えます。新しい技術の習得には苦労やストレスがかかることもあると思いますが、この記事がすこしでも役立てれば幸いです。

                        (書き手:瀬戸)



少しでもお役に立てましたら、記事の下の♡を押していただく&フォローいただけますと励みになります!

▼採用情報

▼コーポレートサイト