Linuxマシンをセットアップして、複数のゲストOSを実行しようとしています。1つはWindows VMで、もう1つはLinuxコンテナーです。ここでの目標は、基本オペレーティングシステムを自由に操作してホストハードウェアを操作しながら、ホストシステムを台無しにしないようにすることです。最終的には、コンテナーでデスクトップを実行することに加えて、グラフィックアクセラレーションシミュレーションなどを実行したいと考えています。Dockerには、gitのようなコンテナーのバージョン管理が組み込まれているため、それを使用することをお勧めします。おそらくlibvirtはLXCでも同じように機能しますが、Dockerの特権モードを使用すると、コンテナーにデバイスを構成する必要がなくなります。
少し調べていくつか答えを出してみましたが、すべてをまとめるのに苦労しています。
LXCの背景
LXCからXを実行すると、コンテナーを(つまり)で構成する方法がわかりました。
lxc.cgroup.devices.allow = c 226:0 rwm
そして使用
mknod -m 666 dri/card0 c 226 0
コンテナ内でホストデバイスに接続します。
Docker
cudaから-DockerコンテナーからGPUを使用して、LXCバックエンドを備えたDockerで同じ設定を使用できることを確認しました。
dockerコンテナーが特権モードで実行されている場合、この追加の構成なしでGPUに正常にアクセスできるように見えました。そこで、ベースシステム、インストールされたグラフィックスドライバー、xorg-server、xorg-xinit、およびウィンドウマネージャーを起動してテストしました。
初挑戦
# startx
Cannot run from a console (or some message like that)
さて、私はtty2にいると思っていました。
# tty
/dev/console
それは私が期待したものではありません。
# chvt 2
# tty
/dev/tty2
まあ、それはうまくいったようです。# startx
もう一度やってみましょう。カーソルを中央にしてウィンドウマネージャを起動しました。マウスが反応しない。キーボードが応答しない。でttyを変更してみましょうCtrl-Alt+F3
。応答なし。まあ、それは私が冷たい再起動する必要があるようです。
二回目
# tty
/dev/console
# chvt 2
# tty
/dev/console
何?今は変更できませんか?
続く
もう一度試してみたところ、ttyを変更して、startxでコンピューターを再びフリーズさせました。
今何?
それで、私は今行き詰まりにいます。私は本当にコンテナを使用できるようにしたい-Dockerが優先、libvirtを備えたLXCも受け入れ可能-無駄のないホストOSを維持しながら日常のオペレーティングシステムとして実行する。
ここで特権モードでDockerを使用するか、明示的なLXCバックエンドを使用して上記のオプションを試すのが最善ですか?
libvirt(おそらくvagrant-libvirtの下にある)を使用してWindows vmを管理することをすでに計画しています。この場合、libvirtまたはvagrant-LXCを使用することはほぼ同じですか?
編集:LXC対Dockerを読むと、DockerおよびDockerコンテナーは単一アプリケーション環境向けであるため、日常のオペレーティングシステムとして実行するには、Dockerの代わりにLXCを使用するのが最善の方法だと思います。考え?
編集:私は、Dockerのように、cgroupsとmknodの手順をバイパスできるlxc-deviceコマンドがあることを発見しました。以前はxを起動してシステムをフリーズさせることができましたが、今はエラーになります。おそらく誰もそこにいないようなので、おそらく私は最終的にこれを理解することができます。
更新:マウスは動作しています。ゲストには、xf86-input-mouseとxf86-input-keyboardをインストールしました。ホストで、私は以下を実行しました:
# lxc-device -n g1 add /dev/input/mice
# lxc-device -n g1 add /dev/dri/card0
# lxc-device -n g1 add /dev/dri/controlD64
# lxc-device -n g1 add /dev/dri/renderD128
# lxc-device -n g1 add /dev/fb0
# lxc-device -n g1 add /dev/tty2
動作します!
startx
ましたexec twm
が、私の観点からすべてがフリーズしました。キーボードやマウスに反応しません。