3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】EC2(Amazon Linux 2023)にGit・Docker・Docker Compose・Docker Buildxをインストールする手順

Last updated at Posted at 2025-12-20

目次

1. はじめに

EC2(Amazon Linux 2023)に「Git・Docker・Docker Compose・Docker Buildx」をインストールする作業に苦戦したため、手順をまとめてドキュメント化することとした。

「VPC, サブネット, EC2, NATゲートウェイ, ルートテーブル」等のAWS環境が既に構築され、EC2からインターネットに接続できる状態を前提とする。

2. Gitのインストール

EC2に接続し、Gitをインストールする。
Amazon Linux 2023では「Fedora」をベースにしたRHEL系のディストリビューションであるため、パッケージ管理コマンドは「dnf」(yumの後継)を使用する。
以下のコマンドでGitをインストールする。

dnfのアップデート
sudo dnf -y update
Gitのインストール
sudo dnf install -y git
Gitのバージョン確認
git version

「dnf repolist」コマンドでパッケージリポジトリを確認でき、EC2(Amazon Linux 2023)では、「Amazon Linux 2023 repository」がパッケージリポジトリとなる。
このリポジトリからパッケージをインストールすることとなり、パッケージの一覧はhttps://docs.aws.amazon.com/ja_jp/linux/al2023/release-notes/all-packages-AL2023.9.htmlから確認できる。

3. GitHubとのSSH接続設定

次にGitHubと接続するため、EC2内にsshキーを作成する。
EC2内に秘密鍵を保存し、公開鍵は自身のGitHubのSettingsにて設定する。

SSH鍵、公開鍵の設定
EC2
 ├─ SSH鍵(秘密鍵) 🔐
 └─ 公開鍵 ───────▶ GitHub(SSH Keys)

以下のコマンドを叩き、sshキーを作成する。
-Cはコメント(comment)を付けるオプションであり、運用・識別のためのメタ情報のため、ここでは「ec2-github」とした。

sshキーの作成
ssh-keygen -t ed25519 -C "ec2-github"

コマンドを叩いた後に「Enter file in which to save the key (/home/ssm-user/.ssh/id_ed25519)」と表示され、エンターを押すと「/home/ssm-user/.ssh/id_ed25519」にsshキーが作成される。
そのため、以下のコマンドでsshキーが作成されているか確認する。

sshキー作成有無の確認
ls -la /home/ssm-user/.ssh/

今回はSSM(セッションマネージャー)を通じてEC2を操作しているため、ユーザー名は「ssm-user」となる。「id」コマンドを叩き、uidに表示されたものが現在のユーザー名となる。

「id_ed25519」、「id_ed25519.pub」が作成されていれば、sshキーの作成完了である。
秘密鍵は「id_ed25519」、公開鍵は「id_ed25519.pub」であるため、後者の公開鍵である「id_ed25519.pub」を自身のGitHubのSettingsに登録する。
以下のコマンドで公開鍵の中身を確認し、出力されたものをコピーする。

公開鍵の中身の確認
cat /home/ssm-user/.ssh/id_ed25519.pub

次にGitHubのSettingsの「SSH and GPG keys」にて、公開鍵を新規登録する。
Titleは「任意」、KeyTypeは「Authentication Key」(認証キー)、Keyは「先ほど出力されたもの」を登録する。

image.png

秘密鍵(id_ed25519)と公開鍵(id_ed25519.pub)を取り違えないように注意する。

次に以下のコマンドを叩き、SSH接続可能かどうか確認する。

ssh接続の疎通確認
ssh -T git@github.com

以下のような画面が表示されれば、ssh接続完了である。
image.png

これでリモートリポジトリからclone, pull等を実行できるため、対象のリモートリポジトリから必要に応じて、sshでcloneを行う。

対象リポジトリからのクローン
git clone <git@github.com:XXXXX>

clone後に、対象のリポジトリを確認し、必要に応じてリモート先を変更する。

リモートリポジトリ設定の確認
git remote -v
リモートリポジトリの設定
git remote set-url origin <新しいURL>

4. Docker(Engine)のインストール

次にDocker(Engine)をインストールする。
Amazon Linux 2023のリポジトリ(https://docs.aws.amazon.com/ja_jp/linux/al2023/release-notes/all-packages-AL2023.9.html)を参照し「docker」で検索すると、「docker(Engine)」があり、これをインストールする。

image.png

dockerのインストール
sudo dnf -y install docker
dockerのバージョン確認
docker version
dockerの自動起動設定
sudo systemctl enable --now docker

5. sudo無しでDockerを使用できるように設定

sudo無しでdockerコマンドを実行するためには、dockerグループにユーザーを追加する。
dockerグループにユーザーを追加しない場合、root権限で操作することになるため、sudoが必要となる。
dockerグループが作成されているかどうか以下のコマンドで確認する。通常はdockerインストールにより、dockerグループが作成される。

dockerグループの検索
getent group docker

dockerグループがない場合は、以下のコマンドで作成する。

dockerグループの作成
sudo groupadd docker

EC2内のユーザーを確認する。
今回はssmで接続しており、ユーザーは「ssm-user」となるため、ssm-userをdockerグループに追加する。
以下のコマンドでユーザーを確認し、uidに表示されたユーザーをdockerグループに追加する。

ユーザーの確認
id
dockerグループにユーザーを追加
sudo usermod -aG docker ssm-user

再び、以下のコマンドを叩き、ssm-userが追加されているかどうか確認する。

dockerグループ、ユーザーの確認
getent group docker

ssm-userが確認できれば、一度ssmの接続を中止し、再びssmで接続する。
入り直した後に、sudo無しでdockerコマンドが使用できる。

上記設定に関する公式ドキュメントは以下のとおりである。
https://docs.docker.com/engine/install/linux-postinstall/

6. Docker Composeのインストール

6.1 Docker Composeのインストールが別途必要な理由

このまま「docker compose」コマンドを使用しようとすると、composeが認識されずにエラーとなる。
おそらく、Amazon Linux 2023のパッケージリポジトリには「docker(Engine)」はあるものの、「docker compose」が含まれていないため、エラーになると考えられる。
そのため、Docker composeのGitHubリポジトリ(https://github.com/docker/compose/releases)より、docker composeのバージョンを指定して別途インストールする。

6.2 Docker EngineとComposeのバージョン互換性

インストールする前にEC2内の「docker(Engine)」のバージョンと互換性のある「docker compose」のバージョンを確認する。

EC内のdockerエンジンのバージョンは、Amazon Linux 2023のリポジトリ一覧(https://docs.aws.amazon.com/ja_jp/linux/al2023/release-notes/all-packages-AL2023.9.html)より、バージョンは「25.0.8-1」である。

Docker公式ドキュメントの以前のリリースノート(https://docs.docker.com/compose/releases/prior-releases/)より、「2.24.4」バージョンの依存関係のアップグレードに「Dependencies upgrade: bump docker to 25.0.1(依存関係のアップグレード: docker を 25.0.1 にアップグレード)」と記載がある。

image.png

これは、「内部依存ライブラリのアップグレード記載」であり、「必須の Engine バージョン要件」という意味ではないが、実運用で不整合が出るリスクを想定し、内部依存ライブラリのアップグレード記載と直近のバージョンをインストールする

よって、docker composeのバージョンは、EC2内のDocker Engineのバージョン(25.0.8-1)に対し、直近の依存ライブラリのアップグレードバージョン(25.0.1)がある「2.24.4」とする。

以下に、docker, docker composeのバージョンを整理する。

種類 バージョン 備考
docker 25.0.8-1 Amazon Linux 2023 パッケージリポジトリ一覧のバージョンより
docker compose 2.24.4 直近の依存ライブラリのアップグレードバージョン(25.0.1)を基に選定

「内部依存ライブラリのアップグレード記載と直近のバージョンをインストールする」という考え方は、私個人の考え方ですので、この点に留意してバージョン選定を行ってください。

6.3 OS・アーキテクチャの確認

docker composeのGitHubリポジトリ「v2.24.4」のAssetsを確認すると、OS、アーキテクチャに応じてインストールするものが決まるため、EC2のOS、アーキテクチャを確認する。

image.png

uname と uname -mとコマンドを叩くと「Linux」、「X86_64」が表示される。
よってAssetsより、「Linux」, 「X86_64」に合致するものをインストールする。

OSが「Linux」であることを確認
uname
アーキテクチャが「x86_64」であることを確認
uname -m

該当のパッケージ名は「docker-compose-linux-x86_64」となる。

image.png

6.4 Docker Composeのインストール手順

以下のとおり、docker composeのインストール手順を示す。

  • ①ダウンロードするディレクトリを作成
  • ②curlコマンドでダウンロード
  • ③実行権限を付与
  • ④バージョン確認
パッケージをダウンロードするディレクトリを作成
sudo mkdir -p /usr/local/lib/docker/cli-plugins/
curlコマンドでダウンロードを実行
sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.4/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
実行権限を付与
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
バージョン確認
docker compose version

7. Docker buildxのインストール

docker composeをインストールし、「docker compose up --build」コマンドを叩くと、docker buildxのバージョンが古く、エラーとなる場合がある。
そのため、docker buildxのインストールも必要に応じて行う。

7.1 Docker Engineとのバージョン要件

docker buildxのGitHubリポジトリ(https://github.com/docker/buildx)より、Linuxでの保存先は「$HOME/.docker/cli-plugins」が推奨されている。
よって、mkdir -p ~/.docker/cli-pluginsとして保存ディレクトリを作成する。

また、「DockerでBuildxを使用するには、Dockerエンジン19.03以降が必要。(Using Buildx with Docker requires Docker engine 19.03 or newer.)」と記載がある。

dockerのバージョンは「25.0.8-1」であり、19.03以上であるため、バージョンの問題はないと考えられる。

7.2 Docker buildxのインストールバージョン、OS・アーキテクチャ

buildxの最新バージョンはv0.30.1(2025/12月時点)であり、こちらをインストールする。

image.png

前述の通り、EC2のOS、アーキテクチャは「Linux」、「X86_64」であるため、これと同じ種類を選択する。
x86_64は見当たらないが、別名の「amd64」(=x86_64)はあるため、これをインストールする。
該当のパッケージ名は「buildx-v0.30.1.linux-amd64」である。

image.png

7.3 Docker buildxのインストール手順

インストール手順は以下のとおりである。

パッケージをダウンロードするディレクトリを作成
mkdir -p ~/.docker/cli-plugins
curlコマンドでダウンロードを実行
curl -SL https://github.com/docker/buildx/releases/download/v0.30.1/buildx-v0.30.1.linux-amd64 -o ~/.docker/cli-plugins/docker-buildx
実行権限を付与
chmod +x ~/.docker/cli-plugins/docker-buildx
バージョン確認
docker buildx version

8. まとめ

ここまでEC2(Amazon Linux 2023)内に「Git・Docker・Docker Compose・Docker Buildx」をインストールする手順をまとめました。
個人的に時間がかかった作業でしたので、この記事が少しでも参考になれば幸いです。

9. 参考資料

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?