私用PCにDockerをインストールするついでに、手順を整理します🐜
開発環境
開発環境は以下の通りです。
項目 | 内容 |
---|---|
OS | Windows 10 Home 64bit |
Version | 21H2 |
WSL | WSL2 Ubuntu 20.04.4 LTS |
Dockerとは
Dockerとはコンテナ型仮想化の技術により、OSごと実行環境を管理できるアプリケーションです。 1
色々利点はあるのですが、私が気に入ってるのは以下の点です。 2
- 環境移行が簡単
重たい計算をするときは専用のワークステーションを使うのですが、Dockerによって、普段の開発環境と全く同じ環境がワークステーションに作れるようになりました。 - ホスト環境を汚さない
案件によって必要なライブラリが変わるので、どうしても開発環境がごちゃまぜになりがちですが、Dockerによって、案件ごとに開発環境を整理できるようになりました。
「DockerはWeb屋さんが使うツールで、サーバとかの知識が必要」と思っていたのですが、データ分析屋の私でも使えるようになったので、上記に挙げた点が気になる方にはおすすめです。3
インストール手順
本稿では、WSL2 Ubuntuで動かすことを前提とします。WSL2のインストール方法については、こちらを参照してください。
まず、WSL2 Ubuntuを起動します。
起動後に、もし既存のDockerがあれば、以下のコマンドを叩きます。(初めての場合はスキップしてよい)
sudo apt remove docker-ce docker-ce-cli containerd.io docker-compose
また、もし古いバージョンのDockerがあれば、以下のコマンドを叩きます。(初めての場合はスキップしてよい)
sudo apt remove docker docker-engine docker.io containerd runc
インストール前に、aptをupdateとupgradeしておきます。Ubuntuなので、推奨されているaptを使います。
sudo apt update sudo apt upgrade
必要なパッケージをインストールします。upgradeしておけばおそらく不要ですが、念のため叩いておきます。
sudo apt install ca-certificates curl gnupg lsb-release
Dockerエンジンをインストールするには、Docker公式のGPG鍵とDockerリポジトリが必要です。
まず、GPG鍵を入手するため、以下のコマンドを叩きます。なお、実行した後は、何も出力されません。不安であれば、docker-archive-keyring.gpgが生成されたことを確認してください。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
→公式ページを見ると、以下のコマンドに変更となりました。(2023年03月13日時点)
sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
GPG鍵を使って、Docker公式安定版のリポジトリを追加します。こちらも実行しても、何も出力されません。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
→公式ページを見ると、以下のコマンドに変更となりました。(2023年03月13日時点)
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
追加したリポジトリをaptアップデートで更新します。
sudo apt update
そして、Dockerエンジンをインストールします。
sudo apt install docker-ce docker-ce-cli containerd.io
→公式ページを見ると、以下のコマンド(docker compose 付き)に変更となりました。(2023年03月13日時点)
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
次にDockerデーモンを動かします。なお、WSLではsystemctlがうまく動かないので、serviseを使います。
まず、以下のコマンドを叩き、Dockerデーモンの項目があることを確認します。
service --status-all
Dockerデーモンを起動します。
sudo service docker start
再度、以下のコマンドを叩き、Dockerデーモンが起動したことを確認します。
service --status-all
こちらのコマンドを叩いて、それではDockerでHello Worldをしてみましょう。以下のような画像が出力されれば成功です。
sudo docker run hello-world
おわりに
WSL2 Ubuntuで使うDockerのインストール手順について、まとめました。
実は、参考にしていたWebページがなくなってしまったので、自分で書くことにしました。
参考になれば幸いです(^^)
参考文献
docker docs Ubuntuでのインストール(日本語)
英語だけだと思ったら、日本語の公式ドキュメントがありました。ほぼこの通りにやればOKです。Install Docker Engine on Ubuntu
こちらは公式ページです。英語ですが、十分読めます。【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜
Dockerの説明が一番わかりやすいと思います。使い方も載っていて良いです。仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん (Compass Booksシリーズ)
本屋で立ち読みして、絵がたくさんあってわかりやすくて、もし自分が駆け出しのWeb屋さんだったら買うだろうなぁと思いました。ただ、けっこう分厚いです。