2016-12-16 9 views
0

私はドッカーには新しく、ドキュメントを読んでいて、ユーザースペースとカーネルスペースという概念を理解しています。上記のコマンド、つまりdocker run ubutnu:14.04を実行すると、ubutnuイメージ(カーネルを持たない)をダウンロードしてコンテナ内で実行し、コマンドps axを起動します。私の質問は、ps axコマンドが実行される場所ですか?それはホストOS(LinuxのdockerがLinux上で動作するようなLinuxカーネル)上で実行されるのですか、それともコンテナ内で実行され、ubuntuのユーザー空間で実行されているすべてのプロセスを表示しますか?dockerを実行すると、ubuntu:14.04 ps axが実行されます。ps axコマンドはどこで実行されますか?

答えて

0

psコマンドの出力は、その質問に非常に明確に答えなければなりません。ここに私のホスト上で実行されているps axです:

$ ps ax 
    PID TTY  STAT TIME COMMAND 
    1 ?  Ss  0:10 /usr/lib/systemd/systemd --switched-root --system --deserialize 23 
    2 ?  S  0:00 [kthreadd] 
    3 ?  S  0:08 [ksoftirqd/0] 
    7 ?  S  2:20 [rcu_sched] 
    8 ?  S  0:00 [rcu_bh] 
    9 ?  S  1:31 [rcuos/0] 
    10 ?  S  0:00 [rcuob/0] 
    [...many lines later...] 
    20565 pts/3 R+  0:00 ps ax 

そして、ここではdocker runで実行されている:

$ docker run ubuntu ps ax 
    PID TTY  STAT TIME COMMAND 
    1 ?  Rs+ 0:00 ps ax 

あなたがdocker run ubuntu:14.04 ps axを実行すると、あなたがコンテナ、およびps意志の内側psコマンドを実行しています同じコンテナ内で実行されている他のプロセスだけを見ることができます。

関連する問題