2017-06-26 6 views
0

アプリケーションがautofsサービスを実行する必要があるDockerコンテナを実行していますが、現在デフォルトでは実行されていません。コンテナはすでに複数のバックグラウンドプロセスを管理するためにsupervisordを使用しています。そのため、スーパーバイザのプログラムリストにサービスを追加する必要があります。Dockerコンテナでのシステムサービスの開始

/etc/init.d/autofsのロジックの多くを繰り返さない方法がありますか?次のようなものがあります。

[program:autofs] 
service = autofs 

この構文はsupervisordではサポートされていません。 systemctlservice、または/etc/init.d/autofsと直接電話する必要がありますか?

+0

私はしばしば自動的にコンテナを開始するためにsystemd-unitスクリプトを書いています。これは非常に簡単で快適です。 – n2o

+0

私はそれが逆の問題だと思いますか?コンテナを開始するサービスではなく、コンテナにサービスを開始するようにします。 :) –

+0

おっと、申し訳ありませんが、私はあなたを誤解しました:D – n2o

答えて

0

サービスはホスト上で実行する必要がありますか?この場合、コンテナからホストシステムとやりとりできるようにさまざまなマウントポイントを追加し、手動でsystemctlでサービスを開始する必要があります。

アトミックホストでコンテナ内のシステムサービスを管理するための代替手段(他のシステムでも同様に使用できます)を「システムコンテナ」と呼びます。私たちはsystemdを使ってrunCコンテナを起動し管理します。このようにして、systemdのテンプレート構成ファイルに直接別のサービスへの依存関係を指定することができます。

関連する問題