LXD を始めることは、Linux 上で効率的で軽量なコンテナと仮想マシンの管理への扉を開きます。LXD は、Linux コンテナのデプロイと管理を簡素化する強力なシステムコンテナおよび VM マネージャーであり、Web アプリケーションのホスティング、テスト環境、マイクロサービスのデプロイに理想的なソリューションです。従来の仮想化とコンテナ化の隔たりを埋め、現代のインフラニーズに柔軟性とパフォーマンスをもたらします。
この記事では、実際のシナリオで LXD を使ってコンテナをインストールおよび管理する方法を、ステップバイステップのデモで解説します。さらに、重要な LXD コマンドをすばやく参照できるよう、表形式の要約チートシートも用意し、コンテナ管理ワークフローを効率化するために必要なツールを提供します。
過去の記事:
01. Ubuntu Server 入門 – SysOSX: AI & Cloud
02. 初めての Ubuntu Server のセットアップ方法:初心者向けガイド – SysOSX: AI & Cloud
03.Ubuntu Server 向け Linux コマンドラインの習得 – SysOSX: AI & Cloud
04. Ubuntu Server でのユーザーと権限の管理:包括的ガイド – SysOSX: AI & Cloud
05. Ubuntu Server のネットワーク基礎:包括的ガイド – SysOSX: AI & Cloud
06. Ubuntu Server でのソフトウェアのインストールと管理:完全ガイド – SysOSX: AI & Cloud
07.Ubuntu Server のパッチ適用と更新:包括的ガイド – SysOSX: AI & Cloud
08. Ubuntu Server のセキュリティ:強化と保護の実践手順 – SysOSX: AI & Cloud
10. Ubuntu Server のシステム監視ツール:包括的ガイド – SysOSX: AI & Cloud
11. Ubuntu Server の集中ロギング:必読ガイド – SysOSX: AI & Cloud
12. Ubuntu Server の監査とコンプライアンス:ベストプラクティス – SysOSX: AI & Cloud
13.ホスティングと Web アプリケーション向け Ubuntu Server のセットアップ:究極ガイド – SysOSX: AI & Cloud
14. 1 台の Ubuntu Server で複数の Web サイトをホストする:役立つヒント – SysOSX: AI & Cloud
15. Ubuntu Server でのストレージとディスクの管理:シンプルガイド – SysOSX: AI & Cloud
16. Ubuntu Server でのファイル共有サービスのセットアップ:完全ガイド – SysOSX: AI & Cloud
17. Ubuntu でのセキュアなデータベースサーバーのセットアップ:MySQL 対 MariaDB – SysOSX: AI & Cloud
18. Ubuntu Server での LVM の設定と使用方法:包括的ガイド – SysOSX: AI & Cloud
19. KVM による仮想化入門:Ubuntu Server 初心者向けガイド – SysOSX: AI & Cloud
20. Ubuntu Server への Docker のインストール方法:コンテナ化のステップバイステップガイド – SysOSX: AI & Cloud
目次
LXD とは?
LXD は、Linux Containers (LXC)上に構築されたオープンソースのコンテナ管理ツールです。仮想マシンのように動作する一方で、より高速で軽量なシステムコンテナを提供します。LXD を使うと、次のことができます:
- コンテナ内で完全な Linux ディストリビューションを実行する。
- 高度なネットワーク機能とストレージ機能を使う。
- REST API を介してコンテナをリモート管理する。
- ダウンタイムを最小限に抑えてホスト間でコンテナを移行する。
Snap を使って LXD をインストールする
最新の Ubuntu システムに LXD をインストールする推奨方法は、Snap を使うことです。次の手順に従います:
1. Snapd をインストールする
システムに Snap がインストールされていることを確認します。Snap がインストールされていない場合は、次を実行します:
sudo apt update
sudo apt install snapd
2. LXD をインストールする
Snap を使って LXD をインストールします:
sudo snap install lxd

3. インストールを確認する
インストールされている LXD のバージョンを確認します:
lxd --version

デモ:LXD を使ってコンテナをインストールする
LXD を使って Ubuntu 22.04 を実行するコンテナを作成・管理する、一般的なシナリオを見ていきます。
ステップ 1:LXD を初期化する
次のコマンドを実行して LXD を初期化します:
sudo lxd init

ストレージ、ネットワーク、その他の設定を行うよう求められます。簡単にするために、デフォルトのオプションを選択できます。
ステップ 2:Ubuntu コンテナを起動する
次のコマンドで、Ubuntu 22.04 を実行するコンテナを作成して起動します:
lxc launch ubuntu:22.04 web-server

このコマンドは、Ubuntu 22.04 イメージを使用して、次の名前のコンテナを作成します:web-server。
ステップ 3:コンテナにアクセスする
コンテナへのシェルアクセスを取得します:
lxc exec web-server -- bash

これでコンテナの中に入りました。パッケージをインストールしたり、サービスを設定したりできます。例えば、Apache をインストールします:
apt update
apt install apache2 -y
Apache サービスを起動します:
systemctl start apache2
ステップ 4:コンテナのネットワークを確認する
コンテナを終了し、その IP アドレスを確認します:
lxc list

ブラウザでコンテナの IP アドレスにアクセスするか、curl http://ip を使って接続を確認することで、コンテナの Web サーバーにアクセスできます。

ステップ 5:コンテナを停止して削除する
コンテナが不要になったら、停止します:
lxc stop web-server
コンテナを削除します:
lxc delete web-server
LXD コマンドライン チートシート
よく使われる LXD コマンドの要約チートシートは次のとおりです:
| カテゴリ | コマンド | 説明 |
|---|---|---|
| 初期化 | lxd init | 初めて使用する前に LXD を初期化します。 |
| インスタンスの作成 | lxc init <image> <name> | 起動せずにコンテナを作成します。 |
lxc launch <image> <name> | コンテナを作成して起動します。 | |
lxc launch <image> <name> --vm | 仮想マシンを作成して起動します。 | |
| インスタンスの管理 | lxc list | すべてのインスタンスを一覧表示します。 |
lxc info <instance> | インスタンスに関する情報を表示します。 | |
lxc start <instance> | インスタンスを起動します。 | |
lxc stop <instance> [--force] | インスタンスを停止します。 | |
| `lxc delete <instance> [–force | –interactive]` | |
| インスタンスへのアクセス | lxc exec <instance> -- <command> | インスタンス内でコマンドを実行します。 |
lxc exec <instance> -- bash | インスタンスへのシェルアクセスを取得します。 | |
lxc console <instance> | インスタンスへのコンソールアクセスを取得します。 | |
| ファイル管理 | lxc file pull <instance>/<path> <local_path> | インスタンスからファイルをプルします。 |
lxc file push <local_path> <instance>/<path> | インスタンスにファイルをプッシュします。 | |
| プロジェクト | lxc project create <project> | プロジェクトを作成します。 |
lxc project set <project> <option> | プロジェクトを設定します。 | |
lxc project switch <project> | プロジェクトに切り替えます。 |
公式ドキュメント:
LXD 入門
まとめ
LXD はコンテナ管理を簡素化し、開発者、システム管理者、DevOps エンジニアにとって優れた選択肢となります。軽量なパフォーマンスと VM のような機能により、LXD はアプリケーションのホスティング、テスト環境などに最適です。
この記事では、一般的なシナリオで LXD を使ってコンテナをインストールおよび管理する方法を紹介しました。さらに、チートシートでは重要な LXD コマンドをすばやく参照できます。
次のトピック:
次の記事では、次のトピックについて解説します: Ubuntu Server での Podman の使い方。お楽しみに。