Docker:マシンへのインストール
Debian、Ubuntu、AlmaLinuxにDockerを正しくインストールする方法、公式リポジトリがシステムパッケージより優れている理由、インストール直後に確認すべきことを説明します。
更新日 2026年8月23日
Dockerはアプリケーションを環境ごとコンテナにまとめます。ライブラリのバージョンを合わせる必要はなく、別のマシンへの移行は設定ファイルのコピーだけで済みます。rootアクセスが使えるVDSなら、標準的にインストールできます。
公式リポジトリからのインストール
システムリポジトリには古いバージョンか、Compose v2プラグインのないdocker.ioしか入っていません。この違いは重要です。ネット上のガイドの半分は、docker-composeではなく現代的なdocker compose向けに書かれています。
Debian 12と13、Ubuntu 22.04 / 24.04 / 26.04:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Ubuntuの場合は、2か所のdebianをubuntuに置き換えてください。
AlmaLinux 9と10、CentOS Stream 9:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
インストールの確認
docker --version
docker compose version
sudo docker run --rm hello-world
docker info | grep -E "Storage Driver|Cgroup|Docker Root Dir"
hello-worldがダウンロードされて挨拶が表示されれば、すべて正常です。ストレージドライバーはoverlay2になっているはずです。
sudoなしでの操作
sudo usermod -aG docker $USER
newgrp docker
dockerグループはrootと同等です。このグループに属するユーザーは、ホストのrootをマウントしたコンテナを実行して管理者になれます。そもそもrootを任せられる相手だけを追加し、アプリケーションには絶対に付与しないでください。
すぐに設定すべきこと
ログを制限してください。そうしないと、おしゃべりなコンテナ1つでディスクを食いつぶします。/etc/docker/daemon.jsonを作成します:
{
"log-driver": "json-file",
"log-opts": { "max-size": "20m", "max-file": "3" }
}
sudo systemctl restart docker
詳細はコンテナログをご覧ください。
使用する容量
Docker自体は約500 MBで、そこからイメージとボリュームが増えていきます。ディスク40 GBのVDS-1なら2~3個のサービスは収まりますが、空き容量を監視する必要があります。ディスク容量をご覧ください。
よくある間違い
docker.ioとdocker-ceを混在させた。 まずsudo apt remove docker.io docker-composeを実行し、それから公式リポジトリからインストールしてください。- Dockerがファイアウォールを迂回してポートを開いた。 Dockerは独自の
iptablesルールを書き込むため、ufwからは見えません。外部に公開する必要がなければ、ポートをローカルインターフェースで公開してください —-p 127.0.0.1:8080:80。詳細はDockerネットワークをご覧ください。 - AlmaLinuxでsystemctlに
--nowを付け忘れた。 サービスは有効になっていますが起動していません。再起動後は動作しますが、今は動きません。
次へ:Docker Composeとボリューム。