Symfoware

Symfowareについての考察blog

Ubuntu Server 16.04でLXDを使用しコンテナを起動する

LXCは知っていたのですが、LXCをより便利に利用するLXDというコンテナ管理ソフトがあるようです。
https://linuxcontainers.org/ja/

仮想環境(KVM)にインストールしたUbuntu Server 16.04で動かしてみます。
Ubuntu Server 16.04を仮想環境(KVM)にインストール
Ubuntu Server 16.04 固定IPへの変更とSSH接続の有効化


こちらのドキュメントを参考にしました。
LXD とコマンドラインツールのインストール
Ubuntu 16.04 LTSでLXD 2.0をセットアップして使ってみる
Ubuntu 15.04とLXDではじめるコンテナ型仮想化



LXDのインストール



Ubuntu Serverにはデフォルトでインストールされています。
Ubuntuの場合は、以下のコマンドでインストールできる模様。


$ sudo apt-get install lxd





「lxd --version」でバージョンを確認すると、2.0.9でした。


$ lxd --version
2.0.9




「lxc list」でコンテナのリストを表示してみると、まだなにも登録されていないことがわかります。



$ lxc list
クライアント証明書を生成します。1分ぐらいかかります...
初めて LXD を使う場合、sudo lxd init と実行する必要があります
初めてコンテナを起動するには、"lxc launch ubuntu:16.04" と実行してみてください。

+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+





lxdを使用するには、initを実行し初期化が必要です。
初めて使ってみるので、すべてデフォルト値を指定しました。


$ sudo lxd init
Name of the storage backend to use (dir or zfs) [default=dir]: dir
Would you like LXD to be available over the network (yes/no) [default=no]? yes
Address to bind LXD to (not including port) [default=all]: all
Port to bind LXD to [default=8443]: 8443
Trust password for new clients:
Again:
Do you want to configure the LXD bridge (yes/no) [default=yes]? yes
Warning: Stopping lxd.service, but it can still be activated by:
lxd.socket
LXD has been successfully configured.



インストール中、こんなウィザードが表示されます。
ブリッジネットワークを構成。

IPアドレスは10.1.216.1(自動設定)
DHCPで10.1.216.2からIPアドレスをコンテナに付与しています。

746_01.png

746_02.png

746_03.png

746_04.png

746_05.png

746_06.png

746_07.png

746_08.png

746_09.png

746_10.png

746_11.png







コンテナの起動



公式に用意されているコンテナはこちらで確認できるようです。
Image server for LXC and LXD


コマンドで、「debian」を含むコンテナを検索してみます。


$ lxc image list images: debian
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
|             ALIAS             | FINGERPRINT | PUBLIC |             DESCRIPTION             | ARCH | SIZE |         UPLOAD DATE         |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie (3 more)         | 35b3eca69f19 | yes    | Debian jessie amd64 (20170422_22:42)    | x86_64 | 94.15MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/arm64 (1 more)    | a1196b967153 | yes    | Debian jessie arm64 (20170422_22:42)    | aarch64 | 87.71MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/armel (1 more)    | 80e7cd64d97e | yes    | Debian jessie armel (20170422_22:42)    | armv7l | 88.60MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/armhf (1 more)    | fe34f427afdd | yes    | Debian jessie armhf (20170422_22:42)    | armv7l | 89.12MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/i386 (1 more)     | c9fcff283eab | yes    | Debian jessie i386 (20170422_22:42)     | i686    | 96.65MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/powerpc (1 more) | 9c007f097a1d | yes    | Debian jessie powerpc (20170422_22:42) | ppc     | 89.03MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/ppc64el (1 more) | 5c93e2b12f00 | yes    | Debian jessie ppc64el (20170422_22:42) | ppc64le | 90.08MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/jessie/s390x (1 more)    | 8f24affc36c6 | yes    | Debian jessie s390x (20170422_22:42)    | s390x | 91.84MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid (3 more)             | 5cb6cea39fa9 | yes    | Debian sid amd64 (20170422_22:42)     | x86_64 | 97.38MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/arm64 (1 more)     | 40d2daf78f71 | yes    | Debian sid arm64 (20170422_22:42)     | aarch64 | 90.71MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/armel (1 more)     | 8f3bf64d331d | yes    | Debian sid armel (20170422_22:42)     | armv7l | 91.28MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/armhf (1 more)     | e192b3cd6afe | yes    | Debian sid armhf (20170422_22:42)     | armv7l | 92.15MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/i386 (1 more)        | 64a9baa48928 | yes    | Debian sid i386 (20170422_02:26)        | i686    | 98.56MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/powerpc (1 more)     | 8980ff4f9df3 | yes    | Debian sid powerpc (20170422_22:42)     | ppc     | 91.28MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/ppc64el (1 more)     | 5cbe9a11e935 | yes    | Debian sid ppc64el (20170422_22:42)     | ppc64le | 92.63MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/sid/s390x (1 more)     | 1dfb1dd5e40d | yes    | Debian sid s390x (20170422_22:42)     | s390x | 93.33MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch (3 more)         | 50816ed7025f | yes    | Debian stretch amd64 (20170422_22:42) | x86_64 | 95.97MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/arm64 (1 more) | c5a85b03c3d6 | yes    | Debian stretch arm64 (20170422_22:42) | aarch64 | 89.52MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/armel (1 more) | 955ac7f1b343 | yes    | Debian stretch armel (20170422_22:42) | armv7l | 90.01MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/armhf (1 more) | 2a45be6a2634 | yes    | Debian stretch armhf (20170422_22:42) | armv7l | 90.85MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/i386 (1 more)    | 366f28d5ce58 | yes    | Debian stretch i386 (20170422_22:42)    | i686    | 97.17MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/powerpc (1 more) | cc77737cc1d8 | yes    | Debian stretch powerpc (20161104_22:42) | ppc     | 101.72MB | Nov 4, 2016 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/ppc64el (1 more) | 64e897916a1b | yes    | Debian stretch ppc64el (20170422_22:42) | ppc64le | 91.33MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/stretch/s390x (1 more) | b319d5bee779 | yes    | Debian stretch s390x (20170422_22:42) | s390x | 92.11MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/wheezy (3 more)         | bee2e41feb7e | yes    | Debian wheezy amd64 (20170422_22:42)    | x86_64 | 86.21MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/wheezy/armel (1 more)    | 3b72b19839cc | yes    | Debian wheezy armel (20170422_22:42)    | armv7l | 82.12MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/wheezy/armhf (1 more)    | c1a33162cd35 | yes    | Debian wheezy armhf (20170422_22:42)    | armv7l | 80.43MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/wheezy/i386 (1 more)     | 3aa49ba395ec | yes    | Debian wheezy i386 (20170422_22:42)     | i686    | 87.36MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/wheezy/powerpc (1 more) | 4ba717e1f7cf | yes    | Debian wheezy powerpc (20170422_22:42) | ppc     | 83.15MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+
| debian/wheezy/s390x (1 more)    | 2f06421a926d | yes    | Debian wheezy s390x (20170422_22:42)    | s390x | 85.98MB | Apr 22, 2017 at 12:00am (UTC) |
+---------------------------------+--------------+--------+-----------------------------------------+---------+----------+-------------------------------+





debian/jessieを起動してみることにします。

書式は


$ lxc launch images:[使用するイメージ名] [名前]




debian/jessieをmy-debian8というコンテナ名で起動してみます。
初回起動は、イメージのダウンロードが行われるため、多少時間がかかります。


$ lxc launch images:debian/jessie my-debian8
my-debian8 を作成中
my-debian8 を起動中





起動後、しばらく待って一覧を表示


$ lxc list
+------------+---------+---------------------+------+------------+-----------+
|    NAME    | STATE |        IPV4         | IPV6 |    TYPE    | SNAPSHOTS |
+------------+---------+---------------------+------+------------+-----------+
| my-debian8 | RUNNING | 10.1.216.221 (eth0) |     | PERSISTENT | 0         |
+------------+---------+---------------------+------+------------+-----------+




IPアドレスが付与されています。
pingを売ってみると、応答がありました。


$ ping 10.1.216.221
PING 10.1.216.221 (10.1.216.221) 56(84) bytes of data.
64 bytes from 10.1.216.221: icmp_seq=1 ttl=64 time=0.069 ms
64 bytes from 10.1.216.221: icmp_seq=2 ttl=64 time=0.077 ms
64 bytes from 10.1.216.221: icmp_seq=3 ttl=64 time=0.075 ms








コンテナの操作




$ lxc exec [コンテナ名] [コマンド]



でコンテナに対しコマンドを実行できます。

コンテナ内でコマンドを実行したい場合は、コマンドにbashを指定。


$ lxc exec my-debian8 bash




rootでコンテナ内のbashを起動します。
exitで接続を終了し、ホストに戻れます。


user@ubuntu:~$ lxc exec my-debian8 bash
root@my-debian8:~# exit
exit
user@ubuntu:~$






コンテナの停止


$ lxc stop [コンテナ名]




コンテナの削除


$ lxc delete [コンテナ名]




停止しているコンテナの起動


$ lxc start [コンテナ名]




--helpでオプションの詳細が確認できます。


$ lxc --help







【参考URL】

LXD とコマンドラインツールのインストール
Ubuntu 16.04 LTSでLXD 2.0をセットアップして使ってみる
Ubuntu 15.04とLXDではじめるコンテナ型仮想化
Image server for LXC and LXD

関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2017/04/23(日) 18:56:52|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Ubuntu Server 16.04のLXDでブリッジ接続を使用する | ホーム | Ubuntu Server 16.04 固定IPへの変更とSSH接続の有効化>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1983-2e96e0e0
この記事にトラックバックする(FC2ブログユーザー)