EQVPS

VPS に Docker をインストールする方法

Ubuntu に Docker Engine と Compose プラグインを正しい方法でインストールする — 古いディストロパッケージではなく Docker の公式リポジトリから — そしてテストコンテナを実行し、起動時に開始するよう設定する。数コマンドで動作するコンテナホストへ。

Docker はアプリとその実行に必要なものすべてを、どこでも同じように動くコンテナにパッケージします — VPS でサービスをセルフホストする最もクリーンな方法です。Ubuntu と Debian での唯一の落とし穴は、ディストロ自身のリポジトリにあるバージョンがしばしば古く、現代的な Compose プラグインが付属していないことです。代わりに Docker の公式リポジトリ からインストールしましょう。以下が全工程です。

1. Docker の公式リポジトリを設定(Ubuntu)

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/ubuntu/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/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2. Docker Engine と Compose をインストール

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. 実行中で起動時に有効化されていることを確認

sudo systemctl enable --now docker
sudo docker run --rm hello-world

hello-world コンテナはダウンロードされ、成功メッセージを表示して終了します — エンジンが動作している証拠です。

4.(オプション)sudo なしで Docker を実行

sudo usermod -aG docker $USER
# グループが反映されるようログアウトしてログインし直す

これは信頼できるユーザーにのみ行ってください — docker グループへのアクセスは事実上ホスト上の root 権限です。

実際の簡単なコンテナ

docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# http://YOUR.SERVER.IP:8080 にアクセス

--restart unless-stopped が、再起動後にコンテナを復帰させる設定です。

正直な注意

次のステップ

Docker をインストールすれば、ほぼ何でもセルフホストできます。1 つの IP で複数サービスをセルフホスト、または RustDesk リモートデスクトップサーバーUptime Kuma 監視のような具体的な Docker 構築例を参照してください。ドメインと HTTPS を前段に置くには、nginx リバースプロキシの設定方法を参照してください。

よくある質問

`apt install docker.io` と Docker のリポジトリ、どちらを使うべき?

最新版を使うには Docker の公式リポジトリ(以下の手順)を使ってください。ディストロの docker.io パッケージは便利ですがしばしば古く、現代的な `docker compose` プラグインは公式パッケージに同梱されています。すぐ使い捨てる箱が欲しいだけなら docker.io でも構いません。

`docker compose` と `docker-compose` の違いは?

古い `docker-compose`(ハイフン付き)は独立した Python ツールでした。現行版は `docker compose`(スペース区切り)— Docker に同梱されたプラグインです。プラグインを使ってください;スタンドアロンツールはレガシーです。示した通り docker-compose-plugin をインストールすれば手に入ります。

毎回 sudo を打たずに Docker を実行するには?

自分のユーザーを docker グループに追加:`sudo usermod -aG docker $USER`、その後ログアウトしてログインし直します。これは実質的にコンテナ経由で root レベルのアクセスを許可することになるため、自分のサーバー上の信頼できるユーザーにのみ行ってください。

Docker にはどれくらいの RAM が必要?

Docker 自体は軽量です;重要なのは実行するコンテナです。小さなアプリ 1〜2 個なら 1 GB のマシンで十分収まりますが、より重いスタック(データベース、複数サービス)にはもっと余裕が必要です。VPS のサイズは Docker ではなくワークロードに合わせて選びましょう。

再起動してもコンテナは生き残る?

そう指定した場合のみです。Docker のサービスは以下の手順で起動時に有効化されますが、コンテナは `--restart unless-stopped`(または Compose での同等のポリシー)を付けて起動したものだけが自動的に復帰します。再起動ポリシーがなければ、コンテナは再起動後も停止したままです。

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。