以下を使用すると、いつでもコンテナを正常に起動できます。
fadedbee@host:~$ sudo lxc-start -n mycontainer
ローカルZFSの一部のディレクトリをバインドするまで自動的に起動されました。
/etc/rc.localに以下を追加しました。
/bin/date >> /var/log/mycontainer.log
/bin/chmod a+r /var/log/mycontainer.log
/usr/bin/lxc-start -o /var/log/mycontainer.log
-l INFO -n mycontainer > /var/log/mycontainer.stdout 2 > /var/log/mycontainer.stderr &
/var/log/mycontainer.log ファイルが生成されますが、日付のみが含まれ、その他の内容は含まれません。
ルートのcrontabに以下を追加しました。
@reboot /usr/bin/lxc-start -o /var/log/mycontainer.log -l INFO -n mycontainer
しかし、それも何の成果も出せませんでした。
私はこれらすべてがZFSが完成する前に起こったと強く疑っています。 cronエントリに追加してもsleep 30 ;
役に立ちません。
私を混乱させることは、ログstderr、stdout、またはログ出力をまったく取得できないことです。
コンテナを自動的に起動するか、少なくともログ出力を確認するにはどうすればよいですか?
修正する:
私は以下を追加しました:
*/5 * * * * /usr/bin/lxc-start -n mycontainer
ルートのクローンに追加しましたが、まだ起動しません。これ同じ(sudo'd) bash プロンプトのコマンドが動作します。ルートの残りのcronエントリは期待どおりに機能します。
ベストアンサー1
起動時にLXCコンテナを起動するために、lxcシステムサービスは説明されているようにlxc-autostartを実行します。ここ。
自動起動を設定するには、コンテナ設定に次の2行を入力します。
lxc.start.auto = 1
lxc.start.delay = 30
遅延は秒単位で希望の値に設定できます。
crontabには何もありません。システムを再起動すると、lxcサービスはそのタスクを実行します。
起動時にLXC自動起動が実行されていることを確認できます。 systemdシステムでこれを行うには、systemdサービスを一覧表示して次のlxc.service
ように確認できます。
systemctl -la | grep 'lxc\.service'
次の行が表示されます。
lxc.service loaded active exited LXC Container Initialization and Autoboot Code
次の行が表示されない場合は、サービスを有効にしてみてください。
sudo systemctl enable lxc