LoginSignup
17
22

More than 5 years have passed since last update.

LXD3.0入門(コンテナ起動~スナップショット~バックアップ)

Last updated at Posted at 2018-08-26

これは何?

  • Linux のコンテナ技術 LXD を使ってみる。
  • コンテナ技術といえば Docker が有名ですが、利用する側から見ると LXD は既存の完全/準仮想化技術(virtualboxやkvmなど)に近いものです。
  • 完全/準仮想化技術との比較
    • 完全/準仮想化同様、複数のゲストOSを起動できる。
    • ただし、扱えるゲストOSは Linux のみで、ゲストはホストの linux kernel を使います。
    • 完全/準仮想化と違い、ハードウェアをシミュレーションしないので、動きは速いです。
  • ここに書いたこと
    • 1) VagrantでUbuntu18.04(bionic)を起動
    • 2) LXDの初期設定
    • 3) イメージのダウンロード&コンテナ起動
      • コンテナの停止/一時停止も
    • 4) コンテナのスナップショットを撮り、tar.gz へバックアップ
      • スナップショットのリストアも
    • 5) tar.gz バックアップからコンテナを復元

LXD のコマンドフロー

lxd-command-flow1.png
lxd-command-flow2.png

今回使った環境

  • LXD は Ubuntu の Canonical が推している Linuxのコンテナ技術なので、ここでは、最近(2018/04)リリースされた長期サポート版、Ubuntu 18.04 LTS "Bionic Beaver" を使うことにします。(LXD は Ubuntu 以外のディストリビューションでも使えます)
  • といっても、Ubuntuマシンが手元に無いので、Vagrant で ゲストOS として Ubuntu を立て、そこから LXD を使います。
  • 構成はこんな感じ。
Windows10
→Vagrant
 →VirtualBox
  →Ubuntu 18.04 LTS “Bionic Beaver”
   →LXD 3.0.1
    →ストレージプール
     →イメージ
     →コンテナ(RUNNING or FROZEN or STOP)
      →スナップショット

1) VagrantでUbuntu18.04(bionic)を起動

  • Windows10へのVagrantインストール手順は省きます。

Vagrantファイルを書く

  • BOXイメージは、Ubuntu公式の "ubuntu/bonic64" を使います。
Vagrant
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.hostname = "ubuntu-bionic"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.name = "ubuntu-bionic"
    vb.gui = true
    vb.memory = "2048"
    vb.customize [
      "modifyvm", :id,
      "--hwvirtex", "on",
      "--nestedpaging", "on",
      "--largepages", "on",
      "--pae", "on",
      "--paravirtprovider", "kvm",
#      "--vram", "256",                  # ビデオメモリ確保(フルスクリーンモードにするため)
#      "--clipboard", "bidirectional",   # クリップボードの共有
#      "--draganddrop", "bidirectional", # ドラッグアンドドロップ可能に
      "--cpus", "2",   # CPUは2つ
      "--ioapic", "on" # I/O APICを有効化
    ]
  end
end

ゲストOS Ubuntu 起動

C:\hoge>vagrant up

ゲストOS Ubuntu へ ssh でログイン

C:\hoge>vagrant ssh
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-23-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sun Aug 26 02:46:09 UTC 2018

  System load:  0.0               Processes:             95
  Usage of /:   13.6% of 9.63GB   Users logged in:       0
  Memory usage: 8%                IP address for enp0s3: 10.0.2.15
  Swap usage:   0%                IP address for enp0s8: 192.168.33.10


  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

65 packages can be updated.
26 updates are security updates.

vagrant@ubuntu-bionic:~$

2) LXD の初期設定

LXD バージョン確認

  • 念のため最新にしておきます。
vagrant@ubuntu-bionic:~$ sudo apt update
vagrant@ubuntu-bionic:~$ sudo apt upgrade
  • 今回使った Vagrant の BOX イメージの場合、LXDはインストール済みなのでバージョンだけ確認しておきます。
vagrant@ubuntu-bionic:~$ lxc --version
3.0.1
vagrant@ubuntu-bionic:~$ lxd --version
3.0.1
vagrant@ubuntu-bionic:~$ dpkg -l | egrep "lxd|lxc"
ii  liblxc-common                   3.0.1-0ubuntu1~18.04.2            amd64        Linux Containers userspace tools (common tools)
ii  liblxc1                         3.0.1-0ubuntu1~18.04.2            amd64        Linux Containers userspace tools (library)
ii  lxcfs                           3.0.1-0ubuntu2~18.04.1            amd64        FUSE based filesystem for LXC
ii  lxd                             3.0.1-0ubuntu1~18.04.1            amd64        Container hypervisor based on LXC - daemon
ii  lxd-client                      3.0.1-0ubuntu1~18.04.1            amd64        Container hypervisor based on LXC - client
  • バージョンは 3.0.1 でした。
  • メモ。lxc と lxd コマンドを使うので、apt install lxc しないとダメだと思ってた。けど実際は、lxc コマンドは lxd-client パッケージ に含まれていた。つまり、lxc パッケージは無くても LXD 使えました。

  • ストレージバックエンドに btrfs を使うので、これのバージョンも確認しておきます。

vagrant@ubuntu-bionic:~$ dpkg -l | grep btrfs
ii  btrfs-progs                     4.15.1-1build1                    amd64        Checksumming Copy on Write Filesystem utilities
ii  btrfs-tools                     4.15.1-1build1                    amd64        transitional dummy package

lxc コマンドを、ユーザ vagrant から使えるように設定

  • sudo lxc としなくても使えるように設定します。
## id 確認
vagrant@ubuntu-bionic:~$ id
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant)

## lxd グループにも所属させる
vagrant@ubuntu-bionic:~$ sudo gpasswd -a vagrant lxd
Adding user vagrant to group lxd

## lxd グループに vagrant ユーザが追加されていることを確認
vagrant@ubuntu-bionic:~$ getent group lxd
lxd:x:108:ubuntu,vagrant

## 設定を有効にするため、ログインしなおす
vagrant@ubuntu-bionic:~$ exit
  • 再ログイン後
## id 確認
vagrant@ubuntu-bionic:~$ id
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant),108(lxd)

## lxd グループに属しているのでOK

ストレージプール、ネットワークなどの各種設定 ~ lxd init

  • 全てデフォルトでもいいですが、以下変更しました。
    • ストレージプールのサイズ 15GB を 5GB へ
    • IPv6 を auto から none へ
vagrant@ubuntu-bionic:~$ sudo lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:            # 別マシンと連携しない
Do you want to configure a new storage pool? (yes/no) [default=yes]:    # storage pool(コンテナの実体の保存先)を新しく作る
Name of the new storage pool [default=default]:                         # 名称 は "default"
Name of the storage backend to use (btrfs, dir, lvm) [default=btrfs]:   # strage backend は btrfs を使う(ホストのファイルシステムは何でもいい)
Create a new BTRFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:  # ブロックデバイスは使わない(=ループバックイメージファイル使用)
Size in GB of the new loop device (1GB minimum) [default=15GB]: 5
Would you like to connect to a MAAS server? (yes/no) [default=no]:      # MASS(ubuntu のデプロイツール?)は使わない
Would you like to create a new local network bridge? (yes/no) [default=yes]: # LXD用に local network bridge を作る
What should the new bridge be called? [default=lxdbr0]:                      # 名前は "lxdbr0"
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: none
Would you like LXD to be available over the network? (yes/no) [default=no]:  # 外部マシンからのLXDへの接続を利用禁止
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] # 取得したコンテナイメージを自動アップデートする
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:

3) イメージのダウンロード&コンテナ起動

  • コンテナを起動するには、リモートが公開しているイメージをダウンロードし、これからコンテナを作り起動します。

リモートの一覧を確認

  • まず、初期登録されている リモートの一覧 を確認しておきます。
vagrant@ubuntu-bionic:~$ lxc remote list
If this is your first time running LXD on this machine, you should also run: lxd init
To start your first container, try: lxc launch ubuntu:16.04

+-----------------+------------------------------------------+---------------+-----------+--------+--------+
|      NAME       |                   URL                    |   PROTOCOL    | AUTH TYPE | PUBLIC | STATIC |
+-----------------+------------------------------------------+---------------+-----------+--------+--------+
| images          | https://images.linuxcontainers.org       | simplestreams |           | YES    | NO     |
+-----------------+------------------------------------------+---------------+-----------+--------+--------+
| local (default) | unix://                                  | lxd           | tls       | NO     | YES    |
+-----------------+------------------------------------------+---------------+-----------+--------+--------+
| ubuntu          | https://cloud-images.ubuntu.com/releases | simplestreams |           | YES    | YES    |
+-----------------+------------------------------------------+---------------+-----------+--------+--------+
| ubuntu-daily    | https://cloud-images.ubuntu.com/daily    | simplestreams |           | YES    | YES    |
+-----------------+------------------------------------------+---------------+-----------+--------+--------+
  • 今回は、images リモート からイメージをダウンロードすることにします。

リモートが公開しているイメージ一覧を確認

  • images リモートで公開されているイメージの一覧を確認します。
vagrant@ubuntu-bionic:~$ lxc image alias list images: | head
+---------------------------------+--------------+-------------+
|              ALIAS              | FINGERPRINT  | DESCRIPTION |
+---------------------------------+--------------+-------------+
| alpine/3.4                      | cc8b58012122 |             |
+---------------------------------+--------------+-------------+
| alpine/3.4/amd64                | cc8b58012122 |             |
+---------------------------------+--------------+-------------+
| alpine/3.4/armhf                | 7813a1299900 |             |
+---------------------------------+--------------+-------------+
| alpine/3.4/default              | cc8b58012122 |             |
  • より詳細を見たいなら lxc image list images: が使えますが、ここでは省略します。

  • 今回は centos7 のイメージを使うことにします。

  • イメージを探します。

vagrant@ubuntu-bionic:~$ lxc image alias list images: | grep centos
| centos/6                        | c25e874b12b9 |             |
| centos/6/amd64                  | c25e874b12b9 |             |
| centos/6/default                | c25e874b12b9 |             |
| centos/6/default/amd64          | c25e874b12b9 |             |
| centos/6/default/i386           | 6fc5c17866f2 |             |
| centos/6/i386                   | 6fc5c17866f2 |             |
| centos/7                        | 5206a7bf4f53 |             |
| centos/7/amd64                  | 5206a7bf4f53 |             |
| centos/7/default                | 5206a7bf4f53 |             |
| centos/7/default/amd64          | 5206a7bf4f53 |             |
  • centos/7 イメージを使うことにします。

イメージのダウンロード&コンテナ起動 ~ lxc launch

  • centos/7 イメージから、コンテナを起動します。
  • コンテナ名は c01 で作ります。
vagrant@ubuntu-bionic:~$ lxc launch images:centos/7 c01
Creating c01
Starting c01
  • これで、コンテナ起動しますが、実は起動の前に、リモートからダウンロードしたイメージを、ローカルに保存します。これを確認しておきます。
  • 次回からは、このローカルのイメージを使ってコンテナが作られます。(次回からコンテナ作成が速くなります)
vagrant@ubuntu-bionic:~$ lxc image list
+-------+--------------+--------+---------------------------------+--------+---------+------------------------------+
| ALIAS | FINGERPRINT  | PUBLIC |           DESCRIPTION           |  ARCH  |  SIZE   |         UPLOAD DATE          |
+-------+--------------+--------+---------------------------------+--------+---------+------------------------------+
|       | 5206a7bf4f53 | no     | Centos 7 amd64 (20180826_02:16) | x86_64 | 83.45MB | Aug 26, 2018 at 3:39am (UTC) |
+-------+--------------+--------+---------------------------------+--------+---------+------------------------------+
  • ローカルに保存されたイメージがありました。(リモートとローカルイメージの FINGERPRINT が同じです)

コンテナを確認 ~ lxc list

  • 先ほど、作って起動した c01 コンテナを確認します。
vagrant@ubuntu-bionic:~$ lxc list
+------+---------+-----------------------+------+------------+-----------+
| NAME |  STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+-----------------------+------+------------+-----------+
| c01  | RUNNING | 10.251.221.100 (eth0) |      | PERSISTENT | 0         |
+------+---------+-----------------------+------+------------+-----------+
  • c01 が RUNNING になってます。

コンテナ内でコマンド実行 ~ lxc exec

  • c01 コンテナ内で bash を起動してみます。
vagrant@ubuntu-bionic:~$ lxc exec c01 -- bash
[root@c01 ~]# id
uid=0(root) gid=0(root) groups=0(root)
  • 起動できました。なお、lxc exec で実行したコマンドは、root権限のようです。

コンテナを 停止、一時停止 ~ lxc stop / lxc pause

  • コンテナを「停止 → 開始 → 一時停止 → 再開」してみます。
  • コンテナの開始/停止は、サーバの電源ON/OFFに対応しており、Linux の init あるいは systemd の開始/終了シーケンスを実行することを意味します。
vagrant@ubuntu-bionic:~$ lxc list
+------+---------+-----------------------+------+------------+-----------+
| NAME |  STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+-----------------------+------+------------+-----------+
| c01  | RUNNING | 10.251.221.100 (eth0) |      | PERSISTENT | 0         |
+------+---------+-----------------------+------+------------+-----------+

## RUNNING → 停止
vagrant@ubuntu-bionic:~$ lxc stop c01
vagrant@ubuntu-bionic:~$ lxc list
+------+---------+------+------+------------+-----------+
| NAME |  STATE  | IPV4 | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+------+------+------------+-----------+
| c01  | STOPPED |      |      | PERSISTENT | 0         |
+------+---------+------+------+------------+-----------+
vagrant@ubuntu-bionic:~$

## STOPPED → 開始
vagrant@ubuntu-bionic:~$ lxc start c01
vagrant@ubuntu-bionic:~$ lxc list
+------+---------+-----------------------+------+------------+-----------+
| NAME |  STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+-----------------------+------+------------+-----------+
| c01  | RUNNING | 10.251.221.100 (eth0) |      | PERSISTENT | 0         |
+------+---------+-----------------------+------+------------+-----------+

## RUNNING → 一時停止
vagrant@ubuntu-bionic:~$ lxc pause c01
vagrant@ubuntu-bionic:~$ lxc list
+------+--------+-----------------------+------+------------+-----------+
| NAME | STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+------+--------+-----------------------+------+------------+-----------+
| c01  | FROZEN | 10.251.221.100 (eth0) |      | PERSISTENT | 0         |
+------+--------+-----------------------+------+------------+-----------+

## FROZEN → 再開
vagrant@ubuntu-bionic:~$ lxc start c01
vagrant@ubuntu-bionic:~$ lxc list
+------+---------+-----------------------+------+------------+-----------+
| NAME |  STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+-----------------------+------+------------+-----------+
| c01  | RUNNING | 10.251.221.100 (eth0) |      | PERSISTENT | 0         |
+------+---------+-----------------------+------+------------+-----------+```

4) コンテナのスナップショットを撮り、tar.gz へバックアップ

  • 手順は「コンテナ → スナップショット → イメージ → tar.gz」です。
    • 実は、スナップショットは作らず、コンテナから直接イメージ化もできるので、1ステップ減らすこともできます。
  • 途中、スナップショットのリストアもやってみます。

コンテナのスナップショットを撮る ~ lxc snapshot

  • c01 コンテナのスナップショットを撮ります。
  • スナップショットの名前は、c01-snap1 とします。
vagrant@ubuntu-bionic:~$ lxc snapshot c01 c01-snap1
  • スナップショットが取れたことを確認します。
vagrant@ubuntu-bionic:~$ lxc list
+------+---------+-----------------------+------+------------+-----------+
| NAME |  STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+------+---------+-----------------------+------+------------+-----------+
| c01  | RUNNING | 10.251.221.100 (eth0) |      | PERSISTENT | 1         |
+------+---------+-----------------------+------+------------+-----------+
  • SNAPSHOTS が カウントアップされ、1 になっています。
  • さらに、c01 コンテナの詳細を見てみます。
vagrant@ubuntu-bionic:~$ lxc info c01
Name: c01
Remote: unix://
Architecture: x86_64
Created: 2018/08/26 03:39 UTC
Status: Running
Type: persistent
Profiles: default
Pid: 8428
Ips:
  eth0: inet    10.251.221.100  vethJKJKAD
  eth0: inet6   fe80::216:3eff:febe:fb9a        vethJKJKAD
  lo:   inet    127.0.0.1
  lo:   inet6   ::1
Resources:
  Processes: 11
  CPU usage:
    CPU usage (in seconds): 0
  Memory usage:
    Memory (current): 19.24MB
    Memory (peak): 21.20MB
  Network usage:
    eth0:
      Bytes received: 1.47kB
      Bytes sent: 1.30kB
      Packets received: 16
      Packets sent: 15
    lo:
      Bytes received: 0B
      Bytes sent: 0B
      Packets received: 0
      Packets sent: 0
Snapshots:
  c01-snap1 (taken at 2018/08/26 03:56 UTC) (stateless)
  • c01-snap1 スナップショットを確認できました。

スナップショットをリストア ~ lxc restore

  • では、作ったばかりの c01-snap1 スナップショットをリストアしてみます。
  • その前に、スナップショットのリストア前後が分かるように、まず、/tmp/abcd ファイルを作っておきます。
vagrant@ubuntu-bionic:~$ lxc exec c01 -- bash
[root@c01 ~]# touch /tmp/abcd
[root@c01 ~]# ls -al /tmp/abcd
-rw-r--r-- 1 root root 0 Aug 26 04:02 /tmp/abcd
[root@c01 ~]# exit
exit
vagrant@ubuntu-bionic:~$
  • c01-snap1 スナップショットをリストアすると、このファイルの作成前に戻るはずです。
  • では、リストアしてみましょう。
vagrant@ubuntu-bionic:~$ lxc restore c01 c01-snap1
  • 戻っているか確認します。
vagrant@ubuntu-bionic:~$ lxc exec c01 -- bash
[root@c01 ~]# ls -al /tmp
total 0
drwxrwxrwt 1 root root  94 Aug 26 04:04 .
dr-xr-xr-x 1 root root 146 Aug 26 02:23 ..
drwxrwxrwt 1 root root   0 Aug 26 02:23 .ICE-unix
drwxrwxrwt 1 root root   0 Aug 26 02:23 .Test-unix
drwxrwxrwt 1 root root   0 Aug 26 02:23 .X11-unix
drwxrwxrwt 1 root root   0 Aug 26 02:23 .XIM-unix
drwxrwxrwt 1 root root   0 Aug 26 02:23 .font-unix
[root@c01 ~]# exit
exit
vagrant@ubuntu-bionic:~$
  • /tmp/abcd が無くなりました。ちゃんと戻りましたね。

スナップショットからイメージを作る ~ lxc publish

  • c01-snap1 スナップショットからイメージを作成します。
  • イメージ名は、c01-snap1-img で作ります。
vagrant@ubuntu-bionic:~$ lxc publish c01/c01-snap1 --alias c01-snap1-img
Container published with fingerprint: 4410ad7c4ad6f1fe7ac411032c7a73418e8ff2cb620c08cb714df1dca934233e
  • c01-snap1-img ができたか確認します。
vagrant@ubuntu-bionic:~$ lxc image list
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
|     ALIAS     | FINGERPRINT  | PUBLIC |           DESCRIPTION           |  ARCH  |   SIZE   |         UPLOAD DATE          |
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
| c01-snap1-img | 4410ad7c4ad6 | no     |                                 | x86_64 | 124.82MB | Aug 26, 2018 at 4:11am (UTC) |
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
|               | 5206a7bf4f53 | no     | Centos 7 amd64 (20180826_02:16) | x86_64 | 83.45MB  | Aug 26, 2018 at 3:39am (UTC) |
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
  • できましたね。

イメージからtar.gzを作る ~ lxc export

  • 先ほどの c01-snap1-img イメージ を tar.gz にしてみます。
vagrant@ubuntu-bionic:~$ lxc image export c01-snap1-img .
Image exported successfully!
  • tar.gz ができたか確認します。
vagrant@ubuntu-bionic:~$ ls -l
total 127820
-rw-rw-r-- 1 vagrant vagrant 130886826 Aug 26 04:14 4410ad7c4ad6f1fe7ac411032c7a73418e8ff2cb620c08cb714df1dca934233e.tar.gz
  • できました。

5) tar.gz バックアップからコンテナを復元

  • 手順は「tar.gz → イメージ → コンテナ」です。

tar.gz から イメージ を復元 ~ lxc iage import

  • 先に作っておいた tar.gz から イメージ を作ります。
  • イメージ名は、targz-img で作ります。
vagrant@ubuntu-bionic:~$ ls
4410ad7c4ad6f1fe7ac411032c7a73418e8ff2cb620c08cb714df1dca934233e.tar.gz
vagrant@ubuntu-bionic:~$ lxc image import 4410ad7c4ad6f1fe7ac411032c7a73418e8ff2cb620c08cb714df1dca934233e.tar.gz --alias targz-img
Error: Image with same fingerprint already exists
  • 同じイメージから作った tar.gz なので、already exists になりました。
  • もう一度イメージ一覧を確認して、どうするか考えてみます。
vagrant@ubuntu-bionic:~$ lxc image list
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
|     ALIAS     | FINGERPRINT  | PUBLIC |           DESCRIPTION           |  ARCH  |   SIZE   |         UPLOAD DATE          |
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
| c01-snap1-img | 4410ad7c4ad6 | no     |                                 | x86_64 | 124.82MB | Aug 26, 2018 at 4:11am (UTC) |
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
|               | 5206a7bf4f53 | no     | Centos 7 amd64 (20180826_02:16) | x86_64 | 83.45MB  | Aug 26, 2018 at 3:39am (UTC) |
+---------------+--------------+--------+---------------------------------+--------+----------+------------------------------+
  • 今回は import のやり方を確認したいだけなので、c01-snap1-img イメージを無理やり消してから再チャレンジします。
vagrant@ubuntu-bionic:~$ lxc image delete c01-snap1-img
vagrant@ubuntu-bionic:~$ lxc image list
+-------+--------------+--------+---------------------------------+--------+---------+------------------------------+
| ALIAS | FINGERPRINT  | PUBLIC |           DESCRIPTION           |  ARCH  |  SIZE   |         UPLOAD DATE          |
+-------+--------------+--------+---------------------------------+--------+---------+------------------------------+
|       | 5206a7bf4f53 | no     | Centos 7 amd64 (20180826_02:16) | x86_64 | 83.45MB | Aug 26, 2018 at 3:39am (UTC) |
+-------+--------------+--------+---------------------------------+--------+---------+------------------------------+
  • 削除できました。改めて、tar.gz を import して イメージ を作ります。
vagrant@ubuntu-bionic:~$ lxc image import 4410ad7c4ad6f1fe7ac411032c7a73418e8ff2cb620c08cb714df1dca934233e.tar.gz --alias targz-img
Image imported with fingerprint: 4410ad7c4ad6f1fe7ac411032c7a73418e8ff2cb620c08cb714df1dca934233e
vagrant@ubuntu-bionic:~$ lxc image list
+-----------+--------------+--------+--------------------------------------------+--------+----------+------------------------------+
|   ALIAS   | FINGERPRINT  | PUBLIC |                DESCRIPTION                 |  ARCH  |   SIZE   |         UPLOAD DATE          |
+-----------+--------------+--------+--------------------------------------------+--------+----------+------------------------------+
| targz-img | 4410ad7c4ad6 | no     | centos 7 x86_64 (default) (20180826_02:16) | x86_64 | 124.82MB | Aug 26, 2018 at 5:59am (UTC) |
+-----------+--------------+--------+--------------------------------------------+--------+----------+------------------------------+
|           | 5206a7bf4f53 | no     | Centos 7 amd64 (20180826_02:16)            | x86_64 | 83.45MB  | Aug 26, 2018 at 3:39am (UTC) |
+-----------+--------------+--------+--------------------------------------------+--------+----------+------------------------------+
  • イメージができました。
  • では、targz-img イメージから、コンテナを作ります。
  • コンテナ名は、c02-targz で作ります。
vagrant@ubuntu-bionic:~$ lxc launch targz-img c02-targz
Creating c02-targz
Starting c02-targz
vagrant@ubuntu-bionic:~$ lxc list
+-----------+---------+-----------------------+------+------------+-----------+
|   NAME    |  STATE  |         IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+-----------+---------+-----------------------+------+------------+-----------+
| c01       | RUNNING | 10.251.221.100 (eth0) |      | PERSISTENT | 1         |
+-----------+---------+-----------------------+------+------------+-----------+
| c02-targz | RUNNING |                       |      | PERSISTENT | 0         |
+-----------+---------+-----------------------+------+------------+-----------+
  • 無事、コンテナ起動できました。

参考サイト

第521回 入門システムコンテナマネージャーLXD 3.0:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0521?page=2

17
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
22