Convert docker image into rocket aci
2015/02/12 追記
Trying out Rocket (Use ACI) ではcoreosが提供しているetcdのaciを使用してみましたが、今回は既存のdocker imageをaciに変換して使ってみる
docker2aciのインストール
docker2aci で変換できる。docker to aciという意味と思われます
go!
$ go get github.com/appc/docker2ac
$ rehash
docker hubからイメージを変換
docker2aci docker image名
でイメージをダウンロード・変換できる
$ docker2aci lorentzca/debian-wheezy-base
Downloading layer: c16645f2b6f50162d70acab19c7cf7f9988787455fed388763b41de78ca078c8
Generated ACI(s):
lorentzca-debian-wheezy-base-latest.aci
起動
早速起動してみる
--debug
オプションつけて起動
vagrant@vagrant:~/rocket-v0.2.0$ sudo ./rkt --debug run ../lorentzca-debian-wheezy-base-latest.aci
2015/02/11 14:54:01 Unpacking stage1 rootfs
2015/02/11 14:54:01 Writing stage1 init
2015/02/11 14:54:01 Wrote filesystem to /var/lib/rkt/containers/347da0bd-ce10-4a75-8f1d-bacc66161b82
2015/02/11 14:54:01 Loading image sha512-59113ba9c143b6f3bfd26823a97511086b0fd84184fdc80ed8e6e1fd10289b6d
run: error setting up stage0: error setting up image sha512-59113ba9c143b6f3bfd26823a97511086b0fd84184fdc80ed8e6e1fd10289b6d: error extracting ACI: error extracting tarball: link /var/lib/rkt/containers/347da0bd-ce10-4a75-8f1d-bacc66161b82/stage1/opt/stage2/sha512-59113ba9c143b6f3bfd26823a9751108/rootfsbin/dnsdomainname /var/lib/rkt/containers/347da0bd-ce10-4a75-8f1d-bacc66161b82/stage1/opt/stage2/sha512-59113ba9c143b6f3bfd26823a9751108/rootfs/bin/domainname: no such file or directory
おーん
でもdnsdomainname
は存在する
vagrant@vagrant:~/rocket-v0.2.0$ sudo ls -l /var/lib/rkt/containers/347da0bd-ce10-4a75-8f1d-bacc66161b82/stage1/opt/stage2/sha512-59113ba9c143b6f3bfd26823a9751108/rootfs/bin/dnsdomainname
-rwxr-xr-x 1 root root 18760 Feb 11 14:54 /var/lib/rkt/containers/347da0bd-ce10-4a75-8f1d-bacc66161b82/stage1/opt/stage2/sha512-59113ba9c143b6f3bfd26823a9751108/rootfs/bin/dnsdomainname
エラーに出てるrootfsbin
はrootfs/bin
の間違い?
なんでこんなことになってるのか調べる
[追記]
これっぽい気が Fix creation of HardLinks.
でももうマスターにマージされてるんじゃ…うーん
そうこうしてるうちにバージョン0.3.1が出ているではないか。update!解決せず!(解決したらしたで腑に落ちない感じだけど…)
tar周りの不具合がちらほら上がっていたのでこれもその一つのハマリポイントなきがする…。ディストリによってtarの挙動が違うとかなのかな?
coreosだめだった
core@localhost ~/rocket-v0.3.1 $ sudo ./rkt --debug run ../coreos-apache-latest.aci
2015/02/12 15:15:36 Preparing stage1
2015/02/12 15:15:36 Wrote filesystem to /var/lib/rkt/containers/03c22f43-75f0-4f44-a3d9-9dd5f294b0da
2015/02/12 15:15:36 Loading image sha512-bfb969cdf71a0ce0129b8f05658460afd6f95efab17240f655cccd3209ef3e1e
run: error setting up stage0: error setting up image sha512-bfb969cdf71a0ce0129b8f05658460afd6f95efab17240f655cccd3209ef3e1e: error expanding app image: error extracting ACI: error extracting tarball: link /var/lib/rkt/containers/03c22f43-75f0-4f44-a3d9-9dd5f294b0da/stage1/rootfs/opt/stage2/sha512-bfb969cdf71a0ce0129b8f05658460af/rootfs./bin/bzip2 /var/lib/rkt/containers/03c22f43-75f0-4f44-a3d9-9dd5f294b0da/stage1/rootfs/opt/stage2/sha512-bfb969cdf71a0ce0129b8f05658460af/rootfs/bin/bunzip2: no such file or directory