べるべる研究日誌

なんでもやる系エンジニアの日々

Dockerがイイネ

LXCとか少しやって「結局仮想が1こ増えるだけじゃん」と思って使っていなかったんだけど、ふとDockerというのを見つけたのでさくらのVPSに入れてみたのでメモ。

dotcloudが会社名をDockerに変えてまで入れ込んでいる仮想化のラッパーみたいなもので、LXCを使ったコンテナの仕組みとgitを統合したような物。

インストール

ということでUbuntu12.04でもう一度クリーン環境を作成

updateとcurlが入っていないのでインストール

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install curl -y

  • これでコマンド一発実行

curl get.docker.io | sh -x

...であっけなくインストール完了

使ってみる

sudo docker run -i -t base /bin/bash

とすると、baseイメージで作成されたコンテナでbashが動く。これは完全に独立しているものでkillすると消える。ただ、これも差分単位で保存されていて、killしたコンテナも復活させる事ができる。

他にもDockerfileという実行ファイルを作るとbaseイメージにapt-getしたり、修正を加えたイメージを作って保存する事ができるのだ。

この最初から作る手順を含めた環境をまるごとパックできるというのは非常に便利だし、これが差分という形で保存されていくのも容量も少ない。AUFSというファイルシステムで実装されているようです。

インストール手順書を作るために環境を作ったり戻したりって、めんどくさいんだけど、こういう環境でつくれば確実だし漏れも無くきちんと動作する手順が作れるので今後に生かして行こうと思います。

参考

http://apatheia.info/blog/2013/06/17/docker/

https://medium.com/code-adventures/65136a4a9d8