1
docker run -itp 26542:26542  stack/vowpall vw -t -i /home/alex/cb.model --daemon --port 26542

このコマンドを実行すると、リッスンしているデーモンはありません。私が走るとき

docker ps 

プロセスはありませんが、docker container bash に移動して実行すると

vw -t -i /home/alex/cb.model --daemon --port 26542 

リッスンしているデーモンがあり、docker ps でも表示されます。何か案は?

4

1 に答える 1

1

問題は、デーモンがバックグラウンドに分岐し、Docker コンテナーがメイン プロセスの間だけ実行されることです。デーモンがバックグラウンドにフォークすると、メイン プロセスが終了し、コンテナも終了します。アプリケーションをフォアグラウンドで実行し続ける必要があるだけです。これは、おそらく--daemon引数を削除することを意味します。

また、-itシェルが必要な場合にのみ引数が必要なので、それらを削除することもできます。docker コマンドの実行後にホストのシェルを元に戻したい場合は-d、コンテナーの起動後にクライアントが切断されるように追加します。

docker run -d p 26542:26542  stack/vowpall vw -t -i /home/alex/cb.model --port 26542
于 2015-04-08T12:02:27.117 に答える