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) dockergpasswd -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 を導入できます。本記事が皆さんの開発・検証環境構築の助けになれば幸いです!


コメント