Ubuntu 上の LXD コンテナの詳細な紹介

コンテナはさまざまな理由で役立ちます。アプリケーションをシステムの残りの部分から分離します。これらは移植可能で、簡単にクローンを作成したり、他のオペレーティング システムに移植したりできます。そして万が一に備えて Linux 、変更を必要とせずに、どのディストリビューションでも同じように機能します。コンテナを輸送する必要がある場合は、 RedHatからUbuntuへ 単純なコピー処理だけで済むはずです。

デッカー これは、単一のアプリケーション (サーバーなど) を含めるように設計された一般的なソリューションです。 MySQLデータベース。そっくりさん Lxd ある意味では、オペレーティング システム全体を含めるように設計されています。これは、いくつかのシナリオで役立ちます。たとえば、次のことができます コンテナを作成する LXD を作成し、データベース サーバーと http サーバーをインストールします。そうすれば、 WordPress ウェブサイトを作成する 内部。以前のプロバイダーに満足できない場合に、必要なときにこの LXD コンテナーを移動するだけで、クラウドからクラウドに切り替えることができます。コンテナのクローンを簡単に作成できるため、コンテナをマウントすることもできます。 あなたのウェブサイト 複数のクラウド プロバイダーに対して、冗長で可用性の高いセットアップを作成します。

LXD は次のような仮想マシンでは動作しません。 QEMU أو VirtualBox これは非常に高速であり、ローカルに近い実行速度を提供することを意味します。

LXD のインストールと構成

ターミナルを開いて、LXD と ZFS ユーティリティをインストールします。これは、コンテナーを操作するときに一部のプロセスを高速化し、ディスク領域を節約するのに役立ちます。

sudo apt install zfsutils-linux lxd

LXD 構成を開始します。

sudo lxd init

Enter キーを押してデフォルト値を指定します。

新しいリングデバイスの GB 単位のサイズ (最小 1GB) [デフォルト = 15GB] について、多数のコンテナーを作成することがわかっている場合は、「50GB」などの別の値を選択できます。

LXD イメージを見つけて実行します

すべての Ubuntu イメージをリストするには:

lxc イメージリスト ubuntu: arch=amd64

たくさんの結果が出てくるでしょう。選んでいいですよ アーチを省略 = amd64 ARM プロセッサなどの他のプラットフォーム用のイメージが必要な場合 (Raspberry Pi デバイスはこのアーキテクチャを使用します)。

前の画像では、読みやすくするために結果が制限されています (| ヘッド付き)。指紋が強調表示されました Ubuntu 18.04 (84a71299044b))。このディストリビューションでコンテナーを実行する場合、コマンドは次のようになります。

lxc 起動 ubuntu: 84a71299044b

この時点で、アクセス許可拒否エラーが返されます。 「lxd」グループ内にある必要があります。ユーザーはすでにこのグループに追加されていますが、アクティブ化するには、ログアウトして再度ログインする必要があります。これを回避したい場合は、次のコマンドを使用して、「user」を自分のユーザー名に置き換えます。

exec su - ユーザー

現在、lxc コマンドは sudo を必要とせずに動作します。

非 Ubuntu ディストリビューションでの LXD コンテナの実行

このコマンドは、他にどのようなディストリビューションが利用可能であるかを表示します。

lxc イメージリスト イメージ: arch=amd64

イメージを開始するには、フィンガープリントの代わりにエイリアスを使用することもできます (リストにエイリアスがあれば使用可能)。

lxc 起動イメージ:debian/9

最後に文字列を追加すると、コンテナーの名前を選択できます。

lxc 起動イメージ:debian/9 wordpress-site

LXDコンテナ管理

すべてのコンテナをリストするには:

lxc リスト

コラムですIPV4」は、この状態で実行されているサービスがある場合に特に重要です。たとえば、サーバーの場合、 アパッチhttp インスタンス上で操作する場合、エントリ「10.234.232.246」をブラウザーで実行すると、コンテナーでホストされている Web サイトが表示されます。

コンテナを停止するには:

lxc stop コンテナ名

Ubuntu 以外のディストリビューションでは、これに長い時間がかかる (または失敗する) 可能性があります。容器に蓋をして、中に入るときに差し込むのが最善です。 systemctlの電源をオフにします それを止めるために。

他のすべてが失敗した場合は、次のコマンドで強制的に停止できます。

lxc stop コンテナ名 --force

開始するには:

lxc start コンテナ名

コンテナ内を移動するには:

lxc シェル コンテナ名

「」でプログラムをインストールできます。sudo apt install” そして、サーバーの構成など、通常の Linux ディストリビューションで行うことをすべて実行します。 アパッチ。コンテナーを終了するには、次のように入力します。

終了する

LXD コンテナとの間でファイルを転送する

ファイルをコンテナにアップロードするには:

lxc file push /path/to/local/file name_of_container/path/to/uploaded/file

アップロード先のディレクトリだけでなく、作成するファイルの名前も含めます。以下に例を示します。

lxc ファイルのプッシュ lxd-apt-install.png accurate-colt/var/www/website/upload.png

ファイルの代わりにディレクトリをアップロードするには:

lxc file push /path/to/local/directory name_of_container/path/to/remote/directory --recursive --verbose

例:

lxc ファイルをプッシュ /bin accurate-colt/tmp --recursive --verbose

コンテナからメイン オペレーティング システムにディレクトリをダウンロードするには、次の手順を実行します。

lxc ファイル プル コンテナ名/リモートディレクトリへのパス /ローカルディレクトリへのパス --recursive --verbose

例:

lxc ファイル プル accurate-colt/tmp /tmp --recursive --verbose

結論

これはカバーします LXD コンテナの主な用途。スナップショットや巻き戻しなどのより高度な機能や、次のようなリソース制限があります。 CPU و 、コンテナのクローン作成など。読者がこのトピックに興味を持っていることに気付いた場合、将来のチュートリアルで取り上げられる可能性があります。

トップボタンに移動