RaspberryPiにLXDをインストールしてみた
Dockerは素晴らしい技術ですね。エンジニアとしては避けては通れないスキルになってるようです。
このDockerを学んだおかげで、LXD(レックスディー)の存在を知ることもできました。
LXDはシステムコンテナと言われ、Dockerが1アプリケーションを起動することを想定しているのに対して、LXDはOS自体をコンテナ化するといったところでしょうか。間違っていたらすみません。
これでようやくdhcpcd.confに書いたブリッジの設定が反映されました。
このDockerを学んだおかげで、LXD(レックスディー)の存在を知ることもできました。
LXDはシステムコンテナと言われ、Dockerが1アプリケーションを起動することを想定しているのに対して、LXDはOS自体をコンテナ化するといったところでしょうか。間違っていたらすみません。
参考にさせていただいてます
- 第683回 LXDコンテナ上にUbuntuのフルデスクトップ環境を構築する
- DockerもいいけどLXDもね 3 〜LXDUIでコンテナを管理する〜
- LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術
- Raspberry Pi 3 Model B+ に lxc/lxd でコンテナ環境を構築した件
- Ubuntu 20.04 LTSにLXC/LXD仮想環境をインストールする
- Sudo snap remove lxd – removes LXD but does not remove the the group “lxd” in /etc/group/ – shouldn’t it?
- Can’t lxc list, no unix.socket connection refused #5423
こんな順番で進みます
ちょっと試したくなって、OS環境が最悪壊れても大丈夫なラズベリーパイに、インストールと設定をしてみました。- ブリッジの作成(ネットワーク関係の設定)
- snapのインストール
- LXDのインストール
環境確認
uname -a
Linux raspmaster 5.10.90-v7+ #1513 SMP Fri Jan 14 16:33:36 GMT 2022 armv7l GNU/Linux
lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
0. ブリッジインターフェイスの作成
以下のファイルを編集する。$ sudo vim /etc/network/interfaces
$ sudo vim /etc/dhcpcd.conf
(再起動)
$ ip addr show
$ ifconfig -a
/etc/dhcpcd.confが反映されなかった
実はかなりハマった所なのですが、dhcpcd.confにブリッジの設定を書いてもIPアドレスが割り振られない問題が起きました。dhcpcd.confが読み込まれていなような挙動だったので、dhcpcdというクライアントソフトをインストールしました。これでようやくdhcpcd.confに書いたブリッジの設定が反映されました。
$ sudo apt install -y dhcpcd5
(再起動が必要だったかもしれません)
$ sudo brctl show
1. LXDはsnapでインストールするのが簡単らしい
$ sudo apt install snapd -y
$ snap version
2. LXDのインストール
この時点で最新版の4.22/stableをインストールしました。$ sudo snap info lxd
$ sudo snap install lxd --channel=latest/stable
$ lxc --version # 4.22
- $ lxd –version # 4.22
インストールがうまくいかない時
ソケットの接続で失敗しているなどのエラーメッセージが出た場合はラズパイのファームウェア?のアップデートをしたり、
$ sudo rpi-update
ソケットの確認をしてみたり
$ sudo systemctl status snap.lxd.daemon
$ sudo systemctl status snap.lxd.daemon.unix.socket
$ sudo systemctl start snap.lxd.daemon.unix.socket
LXDの初期設定、確認
$ sudo gpasswd -a pi lxd # piユーザをlxdグループに追加
$ lxd init
$ lxc profile show default
$ lxc profile list # プロファイルの設定確認
$ lxc network list # ネットワークの設定確認
$ lxc remote list # コンテナのテンプレートイメージが置いてあるリモートサーバの一覧
$ lxc image list images: # テンプレートイメージの一覧
$ lxc image list images:ubuntu # ubuntuをキーワードにテンプレートイメージを検索
コンテナの作成
(Ex. Ubuntu20.04を作成する場合)
$ lxc launch images:ubuntu/20.04 u1-ubuntu20
$ lxc list # コンテナを確認
作成したコンテナの確認
$ lxc info u1-ubuntu20
$ lxc config show u1-ubuntu20
コンテナにログイン
$ lxc exec u1-ubuntu20 /bin/bash
コンテナの停止
$ lxc stop u1-ubuntu20
$ lxc stop u1-ubuntu20 --force # 何らかの理由で強制的に停止したい時
コンテナの削除
$ lxc delete u1-ubuntu20
以上になります
1件のコメント