$(uname -a)
がDockerコンテナ内のホストマシンと同じLinuxカーネルを返すのはなぜですか?
uname -a
#=> Linux leo 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
docker run -ti --rm ubuntu:vivid-20150611 uname -a
#=> Linux 147c3aff216b 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
ホストマシンはUbuntu14.04(信頼できる)ですが、コンテナーはUbuntu 15.04(vivid)であり、カーネル3.19が必要です。
Dockerはホストオペレーティングシステムカーネルを使用します。コンテナ内にカスタムカーネルや追加カーネルはありません。マシン上で実行されているすべてのコンテナは、この「ホスト」カーネルを共有しています。
詳細については、SuperUserの この質問 を参照してください。
cat /etc/os-release
、またはcat /etc/issue
CentOSの場合https://serverfault.com/a/805390/161568 を参照してください。