Dockerはコンテナの起動時に、initプロセスではなく、CMDで指定したプロセスから実行されるため、通常は1つしかプロセスを起動できない制約があります。しかし、プロセス管理ツールのsupervisorを使用すれば、コンテナ内で複数のプロセスを起動することができます。 前回、Dockerfileを使ってsupervisorからsshdとMySQLのプロセスを起動させることを確認できました。そこで、Chefを使ってsupervisorに起動プロセスの定義を追加することで、コンテナ内の起動プロセスを追加できないか試してみました。 構成 Ubuntu 12.04: サーバ構築対象 ※Ubuntu 12.04はDocker 0.10上で動作しています。 Dockerfileの作成 Dockerfileの構成は以下の通りです。 sshd ├──Dockerfile ├──sources.list