公式Gentoo Dockerファイル次の行が含まれます:
RUN sed -e 's/#rc_sys=""/rc_sys="docker"/g' -i /etc/rc.conf
現在、Gentooではデフォルトの初期化はOpenRCです。。
CMD /sbin/init
以下を使用してドッカーイメージを実行すると、
You are attempting to run an openrc service on a system which openrc did not boot.
...そしてstrings /sbin/init | grep -q "sysvinit"
与えるSYSVINIT
しかし、上記のリンクでもOpenRCはsysvinitに基づいているので、これが正しいかもしれません。
これを使用してDockerイメージを実行すると、CMD /sbin/openrc
イメージは起動せず、依存関係エラーが発生します。
OpenRCで複数のプロセスを実行するには、/etc/rc.confを ""(特別なものなし)に戻す必要がありますか?
「docker」RCシステムには特別なものがありますか?システムが初期化されておらず、代わりに実行中のプロセスのみが予想されると仮定することは可能ですか?
/etc/rc.confの「docker」RCは、使用されている初期化システムに関して何を意味しますか?
答え1
boot
たとえば、多くのランレベル初期化スクリプトを見ると、/etc/init.d/hostname
次のようなブロックが表示されます。
依存する() { キーワード -docker -lxc -prefix -systemd-nspawn }
これは、initスクリプトがこれらのシステムタイプで自動的に使用されるべきではないことを示します。openrc-run(8)
完全な手順については、マンページを参照してくださいkeyword
。
これらのスクリプトはまだ手動で起動できますが、自動的に初期化された依存関係の構築中は考慮されません。スクリプトがランレベルに明示的に追加された場合、即時の動作は思い出されません。