Amazon Linux 2023 に Docker をインストール&非 root で使う方法を丁寧に解説

AWS

AWS EC2 に立てた Amazon Linux 2023 環境に Docker をインストールする方法 を、
初めての方にもわかりやすく丁寧に解説します。さらに、非 root ユーザーで Docker を扱えるようにする理由と仕組み、/var/run/docker.sock の役割まで掘り下げて解説します。

✅ この記事で学べること
  • Amazon Linux 2023 での Docker インストール手順(Amazon Linux 2 との違い)
  • 各コマンドの意味と背景
  • Docker を非 root で安全に扱う方法
  • /var/run/docker.sock の技術的な役割とセキュリティへの理解

🔧 前提条件
  • EC2 インスタンス(Amazon Linux 2023)が起動済み
  • SSH で接続できる環境がある
  • sudo 権限のあるユーザーでログインしている




🐳Docker のインストール

Amazon Linux 2023 は Fedora 系に近いため、dnf を使って Docker をインストールできます。

sudo dnf update -y
sudo dnf install -y docker



⚙️Docker サービスを起動 & 自動起動設定

sudo systemctl enable docker
sudo systemctl start docker

もしくは以下のコマンドのみでも可能

sudo systemctl enable --now docker

サービスの状態確認:

sudo systemctl status docker



非 root ユーザーで Docker を使えるようにする

Docker はデフォルトで root 権限が必要です。
普段使っているユーザーで実行できるように、docker グループにユーザーを追加します。

sudo gpasswd -a $(whoami) docker
  • gpasswd -a: ユーザーを指定グループに追加
  • $(whoami): 現在のユーザー名を取得

ユーザーをグループ(Docker)に追加した後は

exit

で再ログインするか、もしくは

newgrp docker

これで、新しいシェルセッションで docker グループが有効になります。

🔒 なぜ docker グループに追加するのか?
Docker は root 権限が必要なソケット(/var/run/docker.sock を使って操作します。
このソケットにアクセスできるのは docker グループのユーザーだけなので、自分のユーザーをそのグループに追加する必要があります。

🛠 docker グループはいつ作成された?
dnf install -y docker のインストール時に、自動で docker グループが作成されます
これにより、グループとして Docker デーモンとの通信が許可されます。

📂 /var/run/docker.sock とは?なぜグループ設定が必要なのか?
Dockerのアーキテクチャを簡単に説明します。Docker は クライアント・サーバー型 の構成

[ docker CLI ] ---> [ Docker Daemon (dockerd) ]
                          |
                          v
                [ コンテナ / イメージ管理 ]
  • Docker CLI:ユーザーが叩くコマンド
  • Docker デーモン:バックグラウンドで動作してコンテナを制御
  • 両者の通信に使われるのが /var/run/docker.sock

🔌 /var/run/docker.sock の正体
Docker CLI は、Docker デーモンと REST API で通信 しています。その通信経路が、/var/run/docker.sock という Unix ドメインソケット です。

$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Jul 1 10:00 /var/run/docker.sock
  • 所有者:root
  • グループ:docker
  • docker グループに所属していれば、sudo なしでアクセスできる

Docker アーキテクチャ こちら
Docker Engine こちら

✅ 動作確認

docker version
docker run hello-world

→ 「Hello from Docker!」と表示されれば、成功です。



🚀 おわりに

Docker は非常に便利なツールですが、正しい理解と運用が大切です。
Amazon Linux 2023 はパッケージ管理が変わったことで、従来よりシンプルに Docker を導入できます。本記事が皆さんの開発・検証環境構築の助けになれば幸いです!

コメント

タイトルとURLをコピーしました