コンテナはさまざまな理由で役立ちます。アプリケーションをシステムの残りの部分から分離します。これらは移植可能で、簡単にクローンを作成したり、他のオペレーティング システムに移植したりできます。そして万が一に備えて 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 و羊 、コンテナのクローン作成など。読者がこのトピックに興味を持っていることに気付いた場合、将来のチュートリアルで取り上げられる可能性があります。










