Windows11 WSL2 Ubuntu 24.04 LTS
Docker CE インストール概要
ここまで悪銭苦闘しましたが、Docker Disktop for Linux のインストールはあきらめ、
Docker CE (Community Edition) をインストールすることにしました。
Windows (WSL) に Docker Desktop 無しで Docker Community Edition をインストールする
が参考になります。
インストール準備方法は、Docker Disktop for Linux のインストール準備方法とほぼ同じです。
詳しくはDocker Disktop を Ubuntu 24.04 にインストール
を見てください。
Docker CE インストール準備
Ubuntu では基本的な CA 証明書が ca-certificates パッケージで提供されています。
よって、ca-certificates パッケージをインストールします。
yamada@yama:~$ sudo apt-get install ca-certificates
上手くいかない場合は
~$ sudo apt-get install ca-certificates curl gnupg lsb-release
又は、
~$ sudo apt install ca-certificates curl gnupg
ca-certificates をインストールすると
/etc/apt/keyrings/ フォルダが使用可能となりますので、このフォルダに対して
yamada@yama:~$ sudo install -m 0755 -d /etc/apt/keyrings
を実行します。
Docker のパッケージ リポジトリ設定ができるようになりました。
Docker CE インストール準備Ⅱ
Docker CE リポジトリ GPG キーを取得します。
yamada@yama:~$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
docker.asc のパーミッションを変更します。
すべてのユーザ a に、アクセス権読み取り可能 r を付与します。
yamada@yama:~$ sudo chmod a+r /etc/apt/keyrings/docker.asc
Docker CE インストール準備Ⅲ
自分のシステムのアーキテクチャと Ubuntu のバージョンに合わせて、Docker の公式リポジトリの URL を作成し、 それを /etc/apt/sources.list.d/ ディレクトリに保存します。
yamada@yama:~$ 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
Docker CE インストール
パッケージインストールをします。
yamada@yama:~$ sudo apt update yamada@yama:~$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker CE インストール確認
yamada@yama:~$ sudo docker run hello-world でインストール確認をします。
[結果] Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world c1ec31eb5944: Pull complete Digest: sha256:5b3cc85e16e3058003c13b7821318369dad01dac3dbb877aac3c28182255c724 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
となれば OK です。
sudo 権限なしで Dockerを実行
sudo 権限なしで Docker を実行できるようにすると便利です。
以下コマンドで、ユーザーをdockerグループに追加します。
sudo usermod -aG docker $USER
私の場合は
yamada@yama:~$ sudo usermod -aG docker yamada
ubuntu を再起動させると設定されます。
Docker サービス確認
Docker を典型的にインストールすると
Docker デーモン(コンテナを管理するために常駐するプロセス)
の起動はユーザが手動で行うのではなく、システム・ユーティリティによって起動されます。
これにより、マシンの再起動時に、自動的に Docker を起動するのが簡単になります。
次に Docker の基本コマンドを照会します。
- Docker バージョン確認
docker --version
又は
yamada@yama:~$ docker -v
[結果]
Docker version 27.4.1, build b9d17ea
のように表示されます。
docker version を使うともっと詳しく表示されます。
yamada@ysenba:~$ docker version
[結果]Client: Docker Engine - Community Version: 27.4.1 API version: 1.47 Go version: go1.22.10 Git commit: b9d17ea Built: Tue Dec 17 15:45:46 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 27.4.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.10 Git commit: c710b88 Built: Tue Dec 17 15:45:46 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.24 GitCommit: 88bf19b2105c8b17560993bee28a01ddc2f97182 runc: Version: 1.2.2 GitCommit: v1.2.2-0-g7cb3632 docker-init: Version: 0.19.0 GitCommit: de40ad0
- Docker サービス起動確認
yamada@yama:~$ systemctl status docker
[結果]yamada@yama:~$ systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled) Active: active (running) since Sun 2024-12-29 12:13:45 JST; 47min ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 795 (dockerd) Tasks: 14 Memory: 83.7M () CGroup: /system.slice/docker.service └─795 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 12月 29 12:13:45 yamada dockerd[795]: time="2024-12-29T12:13:45.752641316+09:00" level=info msg="Lo> ・・・・・・・・
ここまでで Docker CE を WSL/Ubuntu 24.04.1 LTS にインストールしその確認作業をしてきました。
引き続き、Docker サービスコマンドについて見ていきます。