次の記事では、LXDコンテナについて見ていきます。 同僚はすでにしばらく前にこのブログでそれらについて話しました。 に その記事 私はすでにそれを明らかにしました これらのコンテナはさまざまな理由で役立ちます。 アプリケーションをシステムの他の部分から分離し、移植性があり、クローンを作成したり、他のオペレーティングシステムに移動したりするのが簡単です。 Gnu / Linuxの場合、 それらはどのディストリビューションでも同じように機能します、適応の必要なし。
デッカー は、MySQLデータベースサーバーなどの単一のアプリケーションを含むように設計された一般的なソリューションです。 LXDはいくつかの点で似ていますが、 完全なオペレーティングシステムを含むように設計されています。 LXDは次のようなハードウェアを仮想化するつもりはありません QEMU o VirtualBox。 これは、非常に高速で、ほぼネイティブの実行速度を提供することを意味します。
使用例として、LXDコンテナーを作成し、データベースサーバーとhttpサーバーをインストールできます。 そこで、WordPressでWebサイトを作成する可能性があり、必要に応じて、このLXDコンテナーを必要に応じて移動するだけで、クラウドからクラウドに変更できます。 コンテナのクローンを作成するのは簡単なので、Webサイトを複数のクラウドプロバイダーにアップロードして、冗長で可用性の高いセットアップを作成することもできます。
LXDをインストールして構成する
LXDをインストールするには、ターミナルを開いて(Ctrl + Alt + T)インストールするだけです。 そのうえ ZFSユーティリティをインストールすることもできます。 これらは、コンテナを操作するときに、一部の操作を高速化し、ディスク領域を節約するのに役立ちます。
sudo apt install zfsutils-linux lxd
へ LXD構成を開始します、同じ端末で次のように記述します。
sudo lxd init
ここで押すことができます イントロ デフォルト値を選択します。
LXD配布イメージを見つけて開始します
へ Ubuntuイメージのリストを見る、ターミナルで次のように記述します。
lxc image list ubuntu: arch=amd64|head
それができる 他のアーキテクチャのイメージが必要な場合は、arch = amd64を省略してください。 上の画像では、結果が制限されています(と| 頭)読みやすくするため。
上のスクリーンショットでわかるように、Ubuntu 18.04のフィンガープリント(dcbc8e3e5c2e)強調表示したままにしました。 興味があれば そのディストリビューションでコンテナを開始し、そのフットプリントを使用する必要があります。 実行するコマンドは次のようになります。
lxc launch ubuntu:dcbc8e3e5c2e
LXDコンテナを管理する
へ 作成されたすべてのコンテナを一覧表示します、あなたはただ書く必要があります:
lxc list
背骨 'IPV4'そのインスタンスで実行されているサービスがある場合は特に重要です。 たとえば、Apache httpサーバーを実行している場合、 IPを書くとき "10.191.112.88」コンテナでホストされているWebサイトがブラウザに表示されます.
へ コンテナを停止します、あなたはただ書く必要があります:
lxc stop nombre-contenedor
これには時間がかかる場合もあれば、Ubuntu以外のディストリビューションでは失敗する場合もあります。 これが発生した場合は、いつでも使用できます systemctlの電源をオフにします それを止めるために。
他のすべてが失敗した場合、あなたはすることができます 強制的に止める と:
lxc stop nombre-contenedor --force
へ コンテナから始める あなたは書くべきです:
lxc start nombre-contenedor
したい場合は コンテナ内を移動する、実行:
lxc shell nombre-contenedor
コンテナ内 'でプログラムをインストールできますsudo apt install'そして、通常のGnu / Linuxディストリビューションで行う他のことは何でもしますたとえば、Apacheサーバーのセットアップ。
どんなときも コンテナから出ます、次のように入力するだけです。
exit
LXDコンテナとの間でファイルを転送する
へ コンテナにファイルをアップロードする、次の構文を使用します。
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
ファイルを残すディレクトリだけでなく、作成されるファイルの名前も含めてください。
へ ディレクトリをロードする ファイルの代わりに:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
へ コンテナからオペレーティングシステムにディレクトリをダウンロードします 主要な:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
これは LXDコンテナの基本的な使用法。 スナップショット、CPUやRAMなどのリソースの制限、クローンコンテナなど、より高度な機能があります。 これ以上のことは、 公式ドキュメントで、 プロジェクトのウェブサイト またはあなたのページで GitHubの.