dockerのコンテナだとコンテナ内でexitしただけで、コンテナは停止します。停止に時間はかかりません。
lxcコンテナだとコンテナ内でexitしてもコンテナは停止しません。ホスト側でlxc-stopコマンドを使用します。停止にはかなり時間がかかります。そこで思ったのが下記の質問です。
ーー質問ーー
同じコンテナなのに停止する速度が違うのはなぜなのでしょうか?
予想
--
1.docker
dockerのps 1
を見たら/bin/bashになっていました。
新しいシェルを起動させてコンテナを作成しているのかな?。シェルの場合だとexitでもシェルは停止されます。
shellは停止は早いです。以下を時間をかけずにスムーズに行えます。
$ps PID TTY TIME CMD 7274 pts/9 00:00:00 bash 7644 pts/9 00:00:00 ps $bash $ps PID TTY TIME CMD 7274 pts/9 00:00:00 bash 7649 pts/9 00:00:00 bash 7644 pts/9 00:00:00 ps $exit $ps PID TTY TIME CMD 7274 pts/9 00:00:00 bash 7644 pts/9 00:00:00 ps
2.lxc
次はlxcですps 1
は/sbin/initでした。
(ちなみに、コンテナのOSはubuntu15.10のinitではなくsystemdです。)
コンテナの起動方法がshellではなく一から起動しています。
コンテナを停止する際にもdockerと比べて停止時間が遅いのは納得できます。
あくまで予想ですが、このように考えています。どうなのでしょうか?
よろしくお願いします。m(__)m
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。