# LinuxへのDockerインストール

本ページでは、さまざまなLinuxディストリビューションにDockerを手動でセットアップするための簡易インストール手順を示します。通常はゲートウェイのインストーラスクリプトによって自動的に処理されます。

## Amazon Linux 2

{% code overflow="wrap" %}

```bash
# amazon-linux-extras からDockerエンジンをインストール
sudo yum update -y
sudo amazon-linux-extras install -y docker

# Dockerを有効化して起動
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker

# Compose v2プラグインをインストールして `docker compose` を使用可能にする
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -SL "https://github.com/docker/compose/releases/download/v2.27.0/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 --version
docker compose version

# サービスを起動し、再起動時に自動起動するよう設定
sudo service docker start
sudo chkconfig docker on
```

{% endcode %}

***

## Amazon Linux 2023

{% code overflow="wrap" %}

```bash
# 必要なプラグインをインストール
sudo dnf -y install dnf-plugins-core

# Docker公式リポジトリを追加
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo sed -i 's|\$releasever|9|g' /etc/yum.repos.d/docker-ce.repo

# Docker CE、CLI、Containerd、Buildx、Composeプラグインをインストール
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Dockerを有効化して起動
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker

# 互換性のための起動コマンド
sudo service docker start
sudo chkconfig docker on

# インストールを確認
docker --version
docker compose version
```

{% endcode %}

***

## Debian

一般的に、Debianマシンにインストールされている既存のDockerやdocker-composeは削除し、Debianパッケージではなく公式のDockerパッケージをインストールすることが推奨されます。

既存のDockerを削除するコマンドは以下のとおりです。

{% hint style="danger" %}
既存のDockerのインストールファイル、イメージ、コンテナなどをすべて削除することになりますので、実行する前に完全に削除して問題がないことを確認してください。この操作によりすべて削除されます。
{% endhint %}

{% code overflow="wrap" lineNumbers="true" %}

```bash
sudo systemctl stop docker docker.socket containerd 2>/dev/null
sudo apt remove --purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin docker.io podman-docker runc
sudo apt remove docker-compose
sudo apt autoremove --purge -y
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker
sudo rm -f /etc/apt/sources.list.d/docker.list /etc/apt/keyrings/docker.gpg
```

{% endcode %}

Dockerを削除した後は、デバイスを再起動することを推奨します。

```bash
sudo reboot
```

次に、以下のコマンドを使用して公式のDockerパッケージをインストールします。

{% code overflow="wrap" %}

```bash
# 1. 必要なパッケージをインストール
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release

# 2. DockerのGPGキーを追加
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 3. Dockerの公式リポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. Docker CE、CLI、Containerd、Composeプラグインをインストール
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

# 5. Dockerを有効化して起動
sudo systemctl enable --now docker

# 6. インストールを確認
docker --version
docker compose version

# sudoなしでdockerを実行できるように設定
sudo usermod -aG docker $USER
newgrp docker
```

{% endcode %}

***

## Ubuntu

```bash
# 必要なパッケージをインストール
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release

# DockerのGPGキーを追加
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Dockerの公式Ubuntuリポジトリを追加
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker CE、CLI、Containerd、Composeプラグインをインストール
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

# Dockerを有効化して起動
sudo systemctl enable --now docker

# sudoなしでDockerを実行できるように設定
sudo usermod -aG docker $USER
newgrp docker

# インストールを確認
docker --version
docker compose version
```

## AWS上のRed Hat Enterprise Linux 10

```
# RHEL 10(AWS)にDocker EngineとCompose v2をインストール

# 1) OSを最新状態に更新し、最新カーネルで再起動
sudo dnf -y update
sudo reboot
```

再起動後

```
# 2) 実行中のカーネルに対応するカーネルモジュールがインストールされていることを確認
sudo dnf -y install "kernel-modules-$(uname -r)" "kernel-modules-extra-$(uname -r)"

# 3) Docker CEのリポジトリを追加
sudo dnf -y install yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

# 4) Docker Engine、containerd、Compose v2プラグインをインストール
sudo dnf -y install \
  docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

# 5) Dockerを有効化して起動
sudo systemctl enable --now docker

# 6) 非rootユーザーでDockerを使用できるように設定(任意)
sudo usermod -aG docker $USER
newgrp docker

# 7) 動作確認
docker --version
docker compose version
sudo docker ps
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/jp/keeperpam/privileged-access-manager/references/installing-docker-on-linux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
