...
Info |
---|
プロキシサーバー経由でインターネットに接続される環境では、上記は失敗します。 以下の「プロキシサーバー経由で接続している場合」の手順を実施してください。 |
Info |
---|
環境によっては、UbuntuWSL2を使用してWindows PC上に環境を構築している場合、環境によってはUbuntu-22.04でDockerが起動できない現象が発生しています。 その場合、WSL2のUbuntu 22.04でDockerが起動しない問題対応 #Ubuntu22.04 - Qiita 上記情報などを参考に、iptables-legacyを使用するようにしてください。 |
dockerコマンドはデフォルトではroot権限が必要なので、ユーザー権限でも実行できるように、dockerグループにユーザーを追加します。 公式ドキュメントでは、 Linux post-installation steps for Docker Engine に記載されています。
dockerユーザーグループを作成します。
Code Block sudo groupadd docker
groupadd: group 'docker' already exists と表示される場合は、すでにグループが作成されていますので続行します。
通常使用するユーザーをdocker groupに追加します。
Code Block sudo usermod -aG docker $USER
設定を反映します。
Code Block newgrp docker
sudo無でdockerが実施できることを確認します。
Code Block docker run hello-world
成功した場合の表示例です。
Code Block ipro@PC-HP2208N0101R:~$ docker run hello-world 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/
WSL環境の場合は確認ください。
WSLでインストールしたUbuntuはサービスの制御がsystemdによって行われています。(以前はSysVInitでした)。systemdの設定を変更して、起動時にDockerサービスが自動起動する設定を行います。WSL2を使用してWindows PC上に環境を構築している場合は確認ください。
WSLでインストールしたUbuntuはサービスの制御がsystemdによって行われています。systemdの設定を変更して、起動時にDockerサービスが自動起動する設定を行います。Code Block sudo systemctl enable docker.service sudo systemctl enable containerd.service
起動時にdockerサービスが起動するかどうか確認するために一度Ubuntuを再起動します。 WSLではubuntuの端末で再起動はできません。 いったん×ボタンでウィンドウを終了させた後、powershellを起動して以下を入力します。
Code Block wsl --shutdown
その後スタートメニューから改めてUbuntu 22.04 .3 LTSを起動します。
以下のコマンドを入力し、正しくバージョン番号が表示されれば成功です。
Code Block docker version
成功したときの表示例です。
Code Block ipro@PC-HP2208N0101R:~$ docker version Client: Docker Engine - Community Version: 26.1.4 API version: 1.45 Go version: go1.21.11 Git commit: 5650f9b Built: Wed Jun 5 11:28:57 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 26.1.4 API version: 1.45 (minimum version 1.24) Go version: go1.21.11 Git commit: de5c9cf Built: Wed Jun 5 11:28:57 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.33 GitCommit: d2d58213f83a351ca8f528a95fbd145f5654e957 runc: Version: 1.1.12 GitCommit: v1.1.12-0-g51d5e94 docker-init: Version: 0.19.0 GitCommit: de40ad0
...
Docker Engineがインストール済みであること
Code Block $ docker --version Docker version 23.0.1, build cb74dfc
インストール出来ていない場合はDocker Engineをインストールしてください。
Dockerデーモンが起動中であること
【systemdを使用している場合】Code Block $ systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-06-28 08:41:48 JST; 5h 6min ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 1051 (dockerd) Tasks: 24 Memory: 199.9M CPU: 5.471s CGroup: /system.slice/docker.service └─1051 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (以下略)
Activeが inactive (dead) になっている場合は、
systemctl start docker
コマンドでサービスを起動してください。【SysVinitを使用している場合】
Code Block $ sudo /etc/init.d/docker status * Docker is running
not running と表示される場合は
sudo /etc/init.d/ docker start
コマンドでサービスを起動してください。docker buildxがインストールされていること
Code Block $ docker --help | grep buildx buildx* Docker Buildx (Docker Inc., v0.10.5)
何も表示されていない場合は、 Docker Buildx に従って個別にインストールしてください。
qemuがインストールされ、Arm64ビットアプリがクロスビルド可能になっていること
以下のリストの中にlinux/arm64
があることを確認してください。Code Block $ docker buildx ls default * docker default default running v0.11.7-0.20230525183624-798ad6b0ce9f linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/amd64/v4, linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
linux/arm64
がない場合は、qemuをインストールしてください。
...