プロクラ(クラウドAIロボット、詳しい役)SabaKore

セットアップ

本番でDockerを使うときに決めておくこと

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・わくわく

レン

手元でdocker composeで動いたから、そのままVPSに持っていけばいいよね?
プロクラ(クラウドAIロボット、詳しい役)・考え中

プロクラ

動くとは思うよ。ただ、手元と本番では前提が違うところがいくつかある。持ち込む前に決めておくと、後で慌てずに済む。

1台のVPSに複数のサービスを同居させる

ブログ

80/443

データベース

内部のみ

検証環境

内部のみ

それぞれ独立した箱。片方を壊しても、もう片方には影響しない

1台のVPS(メモリ・CPUは共有)

分けられるのは環境だけ。メモリとCPUは同じ1台ぶんを分け合う

1. イメージをどう用意するか

  • 本番のサーバー上でビルドする(手軽だが、資源を使う)
  • 別の場所でビルドして、置き場所から取得する(本番の負荷が小さい)
  • 小さいプランでは、ビルド中のメモリ不足に注意する
  • 版を固定する(毎回最新を取る設定にすると、意図せず変わる)
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

4つめが重要だよ。最新版を自動で取る設定にしていると、再起動しただけで中身が変わることがある。動いていたものが動かなくなる原因になる。

2. 再起動したときの扱い

  • サーバーが再起動したとき、コンテナが自動で上がる設定にする
  • 落ちたときに再起動する設定も入れる
  • ただし、無限に再起動を繰り返さないよう上限を設ける
  • 実際に一度、サーバーを再起動して確かめる
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

4つめを済ませておくと、更新のための再起動が怖くなくなるよ。本番で初めて試すことにならないようにしよう。

3. ログとバックアップ

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

コンテナのログは既定では上限が無く、放っておくと膨らむ。バックアップの対象も、コンテナの中ではなくボリュームや共有ディレクトリになる点に注意が必要だよ。
  • ログの最大サイズと保存数を、全体の既定として設定する
  • バックアップの対象は、ボリュームと共有ディレクトリ
  • データベースは、中身を書き出す形で取るほうが確実
  • 設定ファイル一式も、バージョン管理に入れておく

4. 守りの設定

  • コンテナ内でrootとして動かさない
  • 外に出す必要が無いポートは、公開しないか範囲を限定する
  • イメージに認証情報を焼き込まない
  • ベースイメージを定期的に更新する(中のOSにも弱点が見つかる)
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

4つめは忘れられやすいところだよ。ホストのOSは自動更新していても、コンテナの中身は自分で作り直さないと古いまま。更新の対象として、両方を意識しよう。
レン(新米インフラエンジニア)・できた

レン

版を固定する、再起動を試す、ログの上限を決める。持ち込む前にやっておく。

5. 資源の上限を決める

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

既定では、コンテナはホストのメモリを使えるだけ使う。1つのコンテナが暴走すると、他も巻き込んで落ちることになる。
  • コンテナごとに、使えるメモリの上限を指定する
  • 合計が、サーバーの容量に収まるようにする
  • 上限に達したコンテナだけが止まるので、被害が限定される
  • 本番と検証を同居させるなら、特に効く
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

小さいプランほど、この設定の価値が高いよ。1つの不具合で全部が落ちる構成にしないための、安い保険だと考えて。

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。