はじめに
前回、WSL2のインストール方法についての記事を作成しました。今回は、WSL2上にインストールしたLinuxディストリビューションの1つであるUbuntuにDockerをインストールする方法について解説します。
以下の公式サイトもご確認ください。
Install Docker Engine on Ubuntu
Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multip...
注意事項
Dockerをインストールするにあたり、以下の注意事項がございます。
- ufwやfirewalldを使用してファイアウォールを設定している場合
- Dockerでコンテナのポートを外部に公開すると、そのポートはファイアウォールの設定を無視する
※ufw(Uncomplicated Firewall): DebianのLinuxディストリビューションのファイアウォール管理ツール
※firewalld: Red Hat系のLinuxディストリビューションのファイアウォール管理ツール
Dockerをインストールする
- 古いバージョンのDockerと関連のパッケージを削除します
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
- docker.io: Dockerの古いバージョン
- docker-doc: Dockerのドキュメント
- docker-compose: Docker Composeの古いバージョン
- docker-compose-v2: Docker Composeの新しいバージョン
- podman-docker: Podmanを使用してDockerコマンドをエミュレートするパッケージ
- containerd: コンテナランタイム
- runc: 低レベルのコンテナランタイム
- パッケージリストを更新します。
sudo apt-get update
- DockerのGPGキーをダウンロードするためのパッケージをインストールします。
sudo apt-get install ca-certificates curl
- ca-certificates: SSL/TLS証明書を管理するためのパッケージ
- curl: URLからデータを取得するためのコマンドラインツール
- DockerのGPGキーを保存するディレクトリを作成します。
sudo install -m 0755 -d /etc/apt/keyrings
- 0755: 管理者【読み取り・書き取り・実行】/グループ【読み取り・実行】/その他のユーザ【読み取り・実行】
- curlを使ってDockerのGPGキーを取得し、ローカルファイルに保存します
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
- f: HTTPエラーを無視しない
- s: 進行状況を表示しない(サイレントモード)
- S: エラーが発生した場合にエラーメッセージを表示
- L: リダイレクトを追跡
- o: 出力ファイルを指定
- ファイルに読み取り権限を追加します。
sudo chmod a+r /etc/apt/keyrings/docker.asc
- Dockerをインストールするためのリポジトリをシステムに教えて、その場所から必要なパッケージを取ってこれるように設定します。
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
APTがバイナリパッケージリポジトリを認識するための指定
deb
-
システムのアーキテクチャ(例:amd64)と署名キーの場所を指定
[arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc]
-
Dockerの公式リポジトリURL
https://download.docker.com/linux/ubuntu
-
現在のUbuntuのコードネーム(例:focal)を取得
$(. /etc/os-release && echo "$VERSION_CODENAME")
-
安定版リリースを指定
stable
- 再度パッケージリストを更新します。
sudo apt-get update
- Dockerのパッケージをインストールします。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- docker-ce(Docker Community Edition): コンテナの作成、実行、管理を行う
- docker-ce-cli(Docker Command Line Interface): dockerコマンド(例:docker run、docker build)を実行するためのツール
- containerd.io: コンテナのライフサイクル(作成、開始、停止、削除など)を管理
- docker-buildx-plugin: マルチプラットフォームビルド、キャッシュエクスポート、並列ビルドなどの高度なビルド機能を提供
- docker-compose-plugin: 複数のコンテナで構成されるアプリケーションを定義し、管理するためのツール
途中でDo you want to contine? [Y/n]と聞かれたらyを入力して、Enterしてください。
- 動作確認をします。
sudo docker run hello-world
以下のように表示されたら成功です。
コメント