同じ要件を比較
運用予定のアプリケーションに照らして各行を読み、例で挙げた前提を検証してください。
小さな画面ですべての列を読むには横にスクロールしてください。
| 基準 | ネイティブsystemdサービス | Dockerコンテナ |
|---|---|---|
| プロセス | ホスト実行ファイルとユニット | コンテナのエントリポイント/ランタイム |
| ポート | プロセスのバインドアドレス | 公開されるホスト-コンテナのマッピング |
| データ | サービスユーザーが所有するホストパス | 名前付きボリュームまたは明示的なバインドマウント |
| ログ | journald またはアプリの出力先 | コンテナログドライバー/アプリの出力先 |
| 更新 | パッケージ/アーティファクトとユニットの再起動 | 新しいイメージとコンテナの置き換え |
| 依存関係 | ユニットの順序/準備完了 | Composeの依存関係とヘルス条件 |
選択例
設定ファイル1つで動く単一バイナリは、ネイティブユニットが最もシンプルな場合があります。明示的なボリュームとループバック限定のポートマッピングを備えたテスト済みイメージは、複数の依存関係があるリリースを再現可能にすることがあります。
決定
検査して復旧できる境界を使用してください。Dockerのポート公開は、ホストファイアウォールの動作に関する想定を迂回する可能性があります。
使用したドキュメント
このページの主な参照資料。ご自身の環境にインストールされているバージョンのドキュメントを確認してください。