0
1

Ubuntu 24.04にDockerをインストールする方法

Posted at

事前知識

Dockerのインストール手順

  1. パッケージリストの更新

    sudo apt-get update
    
    • 説明: このコマンドは、Ubuntuのパッケージリストを最新の状態に更新します。
  2. 依存パッケージのインストール

    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
    • 説明: Dockerのインストールに必要な依存パッケージ(HTTPS経由でのパッケージ取得、証明書の管理、GPGキーの管理、追加のソフトウェアプロパティの管理)をインストールします。
  3. Dockerの公式GPGキーを追加

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    • 説明: Dockerの公式GPGキーをシステムに追加します。
  4. Dockerリポジトリを追加

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
    • 説明: Dockerの公式リポジトリをシステムに追加します。
  5. Docker Engineのインストール

    sudo apt-get update
    sudo apt install docker-ce docker-ce-cli containerd.io
    
    • 説明: Docker Engine、Docker CLI、およびContainerdをインストールします。
  6. インストール確認

    docker --version
    
    • 説明: Dockerが正しくインストールされたかを確認します。このコマンドを実行すると、インストールされたDockerのバージョンが表示されます。

Docker Composeのインストール手順

  1. Docker Composeプラグインのインストール

    sudo apt install docker-compose-plugin
    
    • 説明: Docker Composeは、複数のコンテナを定義して実行するためのツールです。このコマンドでDocker Composeプラグインをインストールします。
  2. インストール確認

    docker compose version
    
    • 説明: Docker Composeが正しくインストールされたかを確認します。このコマンドを実行すると、インストールされたDocker Composeのバージョンが表示されます。

Dockerコマンド実行時の「permission denied」エラーの対処法

Dockerをインストールした後、docker psコマンドを実行すると以下のようなエラーメッセージが表示されることがあります。

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.46/containers/json": dial unix /var/run/docker.sock: connect: permission denied

このエラーは、現在のユーザーがDockerデーモンソケットへのアクセス権限を持っていないために発生します。

以下の手順でこの問題を解決できます。

対処法

  1. 現在のユーザーをdockerグループに追加

    sudo usermod -aG docker $USER
    
    • 説明: このコマンドは、現在のユーザーをdockerグループに追加します。これにより、ユーザーがDockerデーモンソケットにアクセスできるようになります。
  2. 変更を反映するためにログアウトして再ログイン

    newgrp docker
    
    • 説明: newgrp dockerコマンドを実行することで、現在のセッションに新しいグループ設定を適用します。これにより、再ログインせずに変更を反映できます。
  3. 再度docker psコマンドを実行して確認

    docker ps
    
    • 説明: このコマンドを実行して、Dockerデーモンにアクセスできるかを確認します。正常に動作していれば、現在実行中のコンテナのリストが表示されます。

実行例

以下は、上記の手順を実行した際の例です。

$ sudo usermod -aG docker $USER
$ newgrp docker
$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

WSL2のUbuntuでDockerコマンド実行時にエラーが出た場合の対処法

WSL2のUbuntu環境でDockerを使用していると、以下のようなエラーメッセージが表示されることがあります。

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

このエラーは、Dockerデーモンが起動していないか、現在のユーザーがDockerデーモンにアクセスする権限を持っていない場合に発生します。

以下の手順でこの問題を解決できます。

対処法

  1. Dockerデーモンの再起動

    • コマンド

      sudo service docker stop  # Docker停止
      sudo service docker start # Docker開始
      
    • 実行結果

      $ sudo service docker stop
       * Docker already stopped - file /var/run/docker-ssd.pid not found.
      $ sudo service docker start
       * Starting Docker: docker
      $ docker ps
      CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
      

関連記事

GitHub

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1