21. LXD 入門:コンテナを簡単にインストール + チートシート

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

09. Ubuntu Server の監査とロギング

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 の使い方。お楽しみに。

コメントを残す