コンテナ化の概念は新しいものではありませんが、デプロイと管理の方法はある程度可能です。 Docker と呼ばれる人気のあるコンテナ仮想化プラットフォームはすでに知られています。でも、知っていますか? LXC (Linux Container) テクノロジーを利用して、ネイティブ Ubuntu サーバーまたはデスクトップ オペレーティング システムを変換してコンテナを実行できます。
Linux -vServer と OpenVZ は、LXC を実行する独立した Linux コンテナ化仮想化オペレーティング システムの非常に良い例です。 VirtualBox や Qemu とは異なり、コンテナーはホスト オペレーティング システムの同じコアまたはカーネル上で直接実行されるため、分離されており、いかなる種類のハードウェア エミュレーションも実行しません。そのため、パフォーマンスの損失が非常に少なく、軽量でもあります。
さて、なぜ Ubuntu、Debian、RedHat のような Linux ディストリビューションに LXC を設定するのかというと、単純です。Linux を学習している開発者や学生であれば、LXC のような専用の OpenVZ プラットフォームは必要ありません。他のアプリケーションにもアクセスしたいため、専用のベアメタル仮想化プラットフォームをインストールする代わりに、Docker または LXC を使用できます (新規ユーザーには Docker をお勧めします)。さらに、libvirt インターフェイスや Virt-Manager などの管理ツールを使用して LXC コンテナを管理することもできます。ただし、Docker と比較すると、事前にビルドされる LXC テンプレートや OS イメージには制限があります。幅広いオプションがあります。
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 公式リポジトリでデフォルトで利用できるため、サードパーティ製のものをインストールする必要はありません。また、システムに SNAP がインストールされている場合は、それも使用できます。両方のコマンドを以下に示します。
sudo apt install lxc
または
sudo snap install lxc
注記: SNAP コマンドは、CentOS、Debian、Redhat、および SNAPD リポジトリをサポートするその他の Linux で機能します。ここにチュートリアルがあります。
ステップ 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、システムおよびサービス マネージャー コマンドを 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 コンテナーの名前とともに以下のコマンドを使用します。
lxc-start -nコンテナの名前-d
交換してくださいコンテナの名前コンテナに付けた名前のテキスト。たとえば、上記の Fedora コンテナを -fedlatest という名前で作成したため、コマンドは次のようになります。
lxc-start -n fedlatest -d
開始された Linux コンテナーのコンソールを取得するには、このコマンドをコンテナー名とともに使用します。
lxc-console -n fedlatest
root パスワードを変更または設定するには:
lxc-attach -n fedlatest passwd
コンソールを停止するには:
lxc-stop -nコンテナ名
例:
lxc-stop-n fedlatest -d
グラフィカル ユーザー インターフェイスを使用して LXC にアクセスするには、LXC Web パネルをインストールします。
wget https://lxc-webpanel.github.io/tools/install.sh -O - | bash
インストールしたら、ブラウザに URL https://your-server-ip:5000 を入力します。
ユーザー名: admin、パスワード: admin を使用してログインします















