NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

「AWSの薄い本の合本Vol.01」で「第5章 1コンテナで複数プロセスを起動し正常終了させる」を書きました

はじめに

ドーモ、浮田です。

技術書典17(オフライン開催:2024/11/03、オンライン開催:2024/11/02~2024/11/17)で発表される「AWSの薄い本の合本Vol.01」に共著として参加しました。 「1コンテナで複数プロセスを起動し正常終了させる」という章を書いたので、軽く紹介します。

AWSの薄い本の合本Vol.01の章構成

  • 第1章 S3 を安全に使うための 10 の約束(執筆:佐々木拓郎)
  • 第2章 Security Hub を最大限活用するためのポイント(執筆:大林優斗)
  • 第3章 IAM ベストプラクティスと CDK による効率化ガイド(執筆:志水友輔)
  • 第4章 CloudFormation StackSets でマルチアカウント統制(執筆:西内渓太)
  • 第5章 1 コンテナで複数プロセスを起動し正常終了させる(執筆:浮田博揮)
  • 第6章 マルチステージビルドで学ぶ Docker のイメージ軽量化(執筆:小山ちひろ)
  • 第7章 クイズで学ぶ AWS の機能と歴史:厳選「機械学習」編(執筆:小西秀和)

techbookfest.org

担当した箇所の目次

第5章 1コンテナで複数プロセスを起動し正常終了させる(執筆:浮田博揮)
5.1 Dockerについて
 5.1.1 1コンテナ1プロセスは非推奨(タイトルが誤っているため修正中)
 5.1.2 Dockerのシグナルについて理解する
 5.1.3 コマンドの実行形式
5.2 複数プロセスの起動方法
 5.2.1 方法1:プロセスマネージャ
 5.2.2 方法2:ラッパースクリプト
5.3 ラッパースクリプトでプロセスを正常終了させる
 5.3.1 trapコマンドを利用する
 5.3.2 ローカル環境で正常終了することを確認する
5.4 まとめ
 5.4.1 どの方法で複数プロセスを起動するべきか
 5.4.2 (補足)Amazon ECS について

一般的にコンテナを実行するときは、1コンテナ1プロセスとして実行するのが推奨されています。 しかし、それを破りたいときがあるかもしれません。 私の章では、1コンテナで複数プロセスを起動・正常終了させる方法を記載しています。 また、各プロセスが正常に終了しているか確認する方法を記載しています。 実際にdockerfileのコードやコンテナの動作結果を置いているので、色々と参考になるかと思います。

5.1.1で「1コンテナ1プロセスは非推奨」とありますが、正しくは「1コンテナ複数プロセスは非推奨」です。
タイトルに誤りがあったことをお詫び申し上げます。 現在、修正中です。

おわりに

初めて技術同人誌を執筆しました。 1コンテナで複数プロセスを起動させるのはニッチなテーマではありますが、技術同人誌なのでマイナーなくらいが良いだろうと思いこの内容にしました。 え、AWS合本というタイトルなのになぜAWSについて書いていないのかって...? AWS合本と知らなかっただけ 最後に軽くECSについて触れています。

執筆者: 浮田 博揮 クラウドエンジニア