はじめに
LXC
のコンテナイメージから作ろうと思ったがうまくいかなかった- まずはドキュメントに従ってやってみた
うまくいかなかった
LXC
のコンテナディレクトリ以下で以下のようにして LXC
コンテナイメージから Docker
のコンテナイメージを作成してみた。
cd /var/lib/lxc/${コンテナ名} sudo tar -cv . | sudo docker import - ${コンテナ名}
以下の赤線のようなエラーが出力されてうまく起動してくれない。
やってみた
ドキュメントでは Ubuntu
の raring
をセットアップする手順だったが、Debian
の squeeze
でやってみることにする。
debootstrap 発動!
まずは debootstrap
を発動させる。
cd /tmp mkdir test cd test sudo debootstrap squeeze squeeze
ちなみに bootstrap
とは...
debootstrap is a tool which will install a Debian base system into a subdirectory of another, already installed system. It doesn't require an installation CD,
- via Debootstrap
適当なディレクトリに Debian
の最小限パッケージを作ってくれるツール。
docker image 発動!
sudo su - cd /tmp/test tar -C squeeze -c . | docker import - squeeze
確認
docker images
出来たイメージで docker run する
docker run -i -t squeeze cat /etc/debian_version
あっと言う間に起動して /etc/debian_version
を表示させている。
ちゃんと Debian squeeze
がインストールが起動している。
build-essential をインストールする
docker run -i -t squeeze /bin/bash
で起動して...
apt-get -y update && apt-get install -y build-essential
で build-essential
をインストールして exit
する。
コミット
docker ps -a
で build-essential
をインストールしたイメージの ID
を確認してコミットする。
docker commit ${ID} inokappa/squeeze latest
そして
LXC
コンテナイメージからはコンバート出来なかったけど素のDebian
をセットアップ出来て良かった- 引き続き、作ったイメージを
index.docker.io
に登録してみたい