私はドッカーには新しく、LinuxカーネルはホストOSとコンテナ間で共有されていることを理解しています。しかし、私は本当に深いドッカーが特定のLinuxディストリビューションをエミュレートするかどうかは分かりません。定義済みのLinuxディストリビューションのどのコマンドがDockerコンテナで利用できますか?
FROM ubuntu:16.10
RUN apt-get install nginx
それは私のUbuntu 16.10環境にインストールnginxのとドッキングウィンドウコンテナを提供します:私たちはこのような単純なドッキングウィンドウのファイルを持って言うことができます。だから、私はapt-getをUbuntuのデフォルトのパッケージマネージャーとして使うことができるはずです。しかし、これはどれくらい深いですか? lsb_release
のような配布の典型的なコマンドは、Ubuntu 16.10がインストールされた完全なVMのようにエミュレートされていると仮定できますか?
私の質問の背後にある理由は、Linuxディストリビューションが異なるということです。私はどのコマンドが利用可能であるかを知る必要があります。たとえば、上記のRed Hat、CentOSなどの異なるディストリビューションがインストールされているホストで、Ubuntu 16.10のようなコンテナを実行すると、
ドッカーのUbuntuイメージは約150 MBです。だから私は実際のインストールのようにすべてのツールが含まれているわけではないと思う。しかし、私は彼らがそこにいることをどのように砂漠化できるのかをどのように知ることができます。
'docker run --name myubuntu sleep infinity'と 'docker exec -it myubuntu lsb_release'を使って起動しようとすると、Ubuntuのバージョンがあれば動作する – user2915097