ソリューション · コンテナ
Dockerに必要なサーバーのスペックは?
コンテナは 1 つのカーネルを共有するプロセスであり、小さな仮想マシンではありません。デーモンは約 100 MB を使い、それ以外はお客様自身のプロセスです。そのため答えは想像より小さくなります。プロキシ、アプリ、データベース、キャッシュを合わせて約 515 MB で、BD-8($12.90)に余裕をもって収まります。
コンテナが実際に使うもの
ベンチマークではなく目安の範囲
イメージ、構成、トラフィックによって、どの表よりも大きく変わります。ご自身のスタックで docker stats を実行してください。それがお客様に当てはまる唯一の数値です。
| コンテナ | 一般的なメモリ | BD-8(8 GB)に収まる数 |
|---|---|---|
| リバースプロキシnginx、Caddy、Traefik | 15–60 MB | 129 上限付近 |
| 小規模な Web アプリNode、Python、Go(単一プロセス) | 60–200 MB | 38 上限付近 |
| PostgreSQL または MySQL小規模なデータセット、デフォルトのプール | 200–500 MB | 15 上限付近 |
| Redisキャッシュとして使用、maxmemory で上限設定 | 20–200 MB | 38 上限付近 |
| JVM サービスJava、Kotlin、Elasticsearch | 500–2000 MB | 3 上限付近 |
計算してみる
各プランに収まる数
メモリから OS 分の 300 MB とデーモン分の 100 MB を引き、コンテナが使う量で割ります。中央の列はスタック全体(プロキシ、アプリ、データベース、キャッシュ)で、約 515 MB です。
| プラン | RAM | スタック全体 | 小規模なアプリ | ディスク | 価格 | デプロイ |
|---|---|---|---|---|---|---|
| VPS-1 | 1 GB | 1 | 3 | 25 GB | $9.90 | デプロイ |
| BD-8 | 8 GB | 15 | 38 | 100 GB | $12.90 | デプロイ |
| BD-12 | 12 GB | 23 | 59 | 200 GB | $17.90 | デプロイ |
| BD-24 | 24 GB | 46 | 120 | 300 GB | $31.90 | デプロイ |
ディスクは 2 つ目の落とし穴で、後になって気づくものです。イメージ、ボリューム、ログは静かに蓄積します。急を要する事態になる前に、docker system prune を週次の cron に入れておいてください。
自社製品との比較
このサービスを購入すべきでない場合
マネージドコンテナプラットフォームは運用を代行するため高くなります。それは実際に買う価値のあるものです。
VPS では root 権限が得られる代わりに、更新、再起動、証明書、障害対応はお客様の担当になります。大幅に安くなりますが、手間は確実に増えます。その手間を負いたくないなら、マネージドプラットフォームが正直な答えです。パッチが当たっていないデーモンがインターネットにさらされたまま放置されるマシンを売るより、そちらをお勧めします。同じ趣旨の小さな助言が 2 つあります。すべてのコンテナにメモリ制限を設定し、問題のあるコンテナがデータベースの代わりに停止するようにしてください。また、1 台のマシンで Kubernetes を使わないでください。スケジュールする対象のないオーケストレーターは複雑さを増すだけです。
よくある質問