TL; DR(Dockerコンテナを使用する必要がありますか)では、インタラクティブマルチユーザ環境を作成します。質問は少し珍しいので、ここにいくつかの背景があります:インタラクティブマルチユーザ環境としてのドッカー
昨年私は大学で情報セキュリティを教え、各学生はカスタムイメージを持つ仮想マシンをインストールし、ダウンロードして「解凍」演習をしなければなりませんでしたさまざまなセキュリティ機能が無効にされ、補助ライブラリがインストールされていたため)、ソリューションを「パック」してアップロードします。
私たちは、100人以上の学生を抱えており、これらのステップのそれぞれについて、本当に驚異的な数の問題を抱えていました。正直言って、すべてが学生のせいではありませんでした。一部のラップトップはVMを本当にドラッグしてしまい、ドライバーの問題などがありました。
私は代替手段を考えました:サーバーのような集中環境SSH。これは、登録と割り当ての配布とコレクションを本当にスムーズにすることができますが、どのようにそのようなシステムを設計しますか?
最初は、私は別のユーザー(つまり、adduser <student-id>
)について考えましたが、いくつかの問題があります(リソース割り当てなどの適切な構成で解決できるものもありますが、ルート特権を得た生徒が実際のPE(特権エスカレーション)を利用すると、他の生徒のものにアクセスすることができます。
私は獄について考えましたが、ネットワークに脆弱性があり、他の生徒のパケットを見ている(そして干渉している可能性がある)生徒は望ましくありません。
だから、仮想化。しかし、100以上のVMを実行して管理することは、私が楽しみにしていることではありません(そして、私は大学のITが扱うことができないと確信しています...)。
しかし、私はドッカーについて聞いた!各環境は隔離されており、独自のネットワークを持ち、軽量であると思われます。しかし! Dockerの本来の目的は、対話型の環境ではなくアプリケーションを簡単に配備することです。たとえば、SSHをコンテナに入れることをお勧めします。
私の質問はこれです:生徒一人につき真のUbuntuコンテナをセットアップし、SSHサーバー(学生一人あたり別のポートにマップされています)とそれ自身のネットワークを設定し、これらのコンテナにログインして作業しますが、これまでの私の読書からは、悪い習慣(つまり、「あなたのコンテナにSSHを入れないでください!」など)のように思えます。そのようなソリューションが悪いとみなされる関連する理由(セキュリティ、パフォーマンス、または何か他のもの)はありますか?
なぜ人々が下降投票しているのかを聞きたいのなら、コメントの中でそれを行うのが最善です - 有権者自身が長くなくなっているので、回答は得られないかもしれません。私たちは、投稿には投票やその他のメタコメントに異議がないことを尋ねます。ログインしないか投票しない読者にとっては興味がありません。 – halfer
FWIW個人的に私はそれがOKだと思うが、あなたは努力と考えを持っていると確信しているが、質問は少し広いかもしれないという見方からDVが来るかもしれないと思う。 – halfer
申し訳ありませんが、説明のためにありがとうございます。 –