コンテナ化の概念は新しいものではありませんが、展開して管理する方法はある程度である可能性があります。 Dockerと呼ばれる人気のあるコンテナ仮想化プラットフォームをすでに知っています。しかし、あなたは知っていますか?ネイティブUbuntuサーバーまたはデスクトップオペレーティングシステムを変換して、LXC(Linuxコンテナ)テクノロジーを使用してコンテナを実行できます。
Linux -vserverとOpenVZは、LXCを実行している独立したLinuxコンテナ化された仮想化オペレーティングシステムの非常に良い例です。 VirtualBoxやQEMUとは異なり、コンテナは分離されており、ホストオペレーティングシステムの同じコアまたはカーネルで直接実行されているため、ハードウェアエミュレーションを実行しないでください。
今、私たちがubuntu、debian、redhatのようなLinuxディストリビューションにLXCをセットアップする理由は、私たち全員がLinuxを学習している開発者または学生である場合、専用のOpenVZ LXCのようなプラットフォームを必要としません。さらに、LIBVIRTインターフェイスまたはVirt-Managerなどの管理ツールを使用してLXCコンテナを管理することもできます。しかし、Dockerと比較して、ビルド前のLXCテンプレートまたはOS画像は限られていますが、Dockerハブ幅広いオプションがあります。
ubuntuにLXCをインストールして、コンテナ形式で異なる仮想マシンを実行する方法を見てみましょう。
UbuntuにLXCをインストールするステップ
ただし、Ubuntu 18.04を使用して、Ubuntu 19.10、19,04,18.10,17.04、16.04…またはLinux Mintでステップが同じになります。
ステップ1:コマンド端末を開くと、ショートカットキーCTRL+ALT+Tを使用するか、単にアプリケーションに移動して端末を検索できます。
ステップ2:システムを更新して、すべてのインストールされたパッケージが最新の状態を達成できるようにします。
sudo apt update
ステップ3:LXCはデフォルトでUbuntuの公式リポジトリで入手できるため、サードパーティのものをインストールする必要はありません。また、システムにスナップをインストールしている場合は、それを使用することもできます。両方のコマンドを以下に示します。
sudo apt install lxc
または
sudo snap install lxc
注記:SNAPコマンドは、Centos、Debian、Redhat、および他のLinuxで動作します。これがチュートリアルですCentos/rhelにスナップをインストールします。
ステップ4:LXCをテストするには、次の構成チェックコマンドを実行します。
sudo lxc-checkconfig
ステップ5:さて、LXCのブリッジネットワークが機能しているかどうかを見てみましょう。そのため、コマンドはです
sudo ifconfig lxcbr0
エラーが発生した場合:LXCBR0:インターフェイス情報の取得エラー情報:デバイスが見つかりません、その後、有効にします。
ブリッジネットワークタイプを有効にするには:
sudo nano /etc/default/lxc
値を交換します間違いと真実、その前に与えられた」use_lxc_bridge= ""
その後、プレスCtrl+xそして、入力しますyそして入力ファイルを保存するボタン。
ステップ6:LXC-NETサービスの再起動:そのために、SystemCTL、System、およびService ManagerコマンドとLXC-NETを使用します。それは次のようになります:
sudo systemctl restart lxc-net
sudo systemctl status lxc-net
LXC-NETステータスの出力は、以下のスクリーンショットに記載されているようなものになります。
次に、LXCに使用されて使用されているネットワークインターフェイスの詳細を確認しましょう。
ifconfig lxcbr0
上記のスクリーンショットでは、最後に、ubuntuインストールLXC-LinuxコンテナのIPアドレスを取得したことがわかります。
ステップ7: LXCコンテナを作成します。すべてがセットアップされており、LXCテンプレートをインストールする時間です。これは基本的に、Centos、Ubuntu、AlpineなどのLXC公式Webサイトで利用可能なOS画像を取得およびインストールするスクリプトです。
特定のターゲット環境(Debian 64ビットなど)のLXCコンテナを作成できるようにするには、対応するLXCテンプレートが必要です。幸いなことに、UbuntuのLXCユーザースペースツールには、事前に準備されたLXCテンプレートのセットが付属しています。利用可能なLXCテンプレートは、/usr/share/lxc/templatesディレクトリで見つけることができます。
ls /usr/share/lxc/templates/
したがって、上記のように、LXCテンプレートは、実際には特定のLinux環境のコンテナを作成するために使用されるスクリプトです。 LXCコンテナを作成するときは、これらのテンプレートのいずれかを使用する必要があります。したがって、ここではUbuntuとFedoraをインストールしていますが、利用可能なLXCテンプレートのいずれかで、インストールするコマンドは同じで、テンプレートの唯一の名前または値を変更する必要があります。
ubuntuの場合:
lxc-create -n new -t ubuntu
注記:新しい私たちが新しく作成したUbuntu LXCコンテナに与えた名前であるため、簡単に覚えておくことができます。あなたはあなたが望むものを何でも与えることができます。
Fedora 31テンプレートLXC(Linuxコンテナ)に最新バージョンをインストールするには:
lxc-create -n fedlatest -t download -- -d fedora -r 31 -a amd64
上記のコマンドには、FedLatestがコンテナ名です。
作成されたすべてのコンテナを参照してください:
lxc-ls
それらのいずれかを使用するには、作成されたLXCコンテナの名前とともに、以下のGIVENコマンドを使用します。
lxc -start -nコンテナー名-d
を交換しますコンテナー名コンテナに与えた名前のテキスト。たとえば、名前-Fedlatestを使用して上記のFedoraコンテナを作成しました。したがって、コマンドは次のとおりです。
lxc-start -n fedlatest -d
開始されたLinuxコンテナのコンソールを取得するには、コンテナ名とともにこのコマンドを使用してください。
lxc-console -n fedlatest
ルートパスワードを変更または設定するには:
lxc-attach -n fedlatest passwd
コンソールを停止するには:
lxc -stop -nConatiner-Name
例:
lxc-stop-n fedlatest -d
グラフィカルユーザーインターフェイスを使用してLXCにアクセスするには、LXC Webパネルをインストールします。
wget https://lxc-webpanel.github.io/tools/install.sh -O - | bash
インストールしたら、ブラウザでurl http:// your-server-ip:5000を入力します。
ユーザー名を使用してログイン:管理者とパスワード:admin