ArchLinux で Docker を使ってみる

興味があったので遊びがてら入れてみた
まずインストール

$ yaourt -S docker
$ sudo gpasswd -a your-username docker
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ docker info

して特にエラーが出なければ導入成功

とりあえず CentOS なコンテナを作成してみる
初回はイメージをダウンロードするため時間がかかる

$ docker run -t centos:6.6 /bin/echo "hello world"
Unable to find image 'centos:6.6' locally
511136ea3c5a: Pull complete 
5b12ef8fd570: Pull complete 
77e369743e24: Pull complete 
centos:6.6: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Status: Downloaded newer image for centos:6.6
hello world

対話的に実行、適当に変更を加える

$ docker run -it --name centos -p 80:80 centos:6.6 /bin/bash    
[root@045ff84b2e1c /]# yum -y update
[root@045ff84b2e1c /]# yum -y install httpd which
[root@045ff84b2e1c /]# service httpd start
[root@045ff84b2e1c /]# chkconfig httpd on

作成したコミットから新しいイメージを生成

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                     PORTS               NAMES
045ff84b2e1c        centos:6.6          "/bin/bash"            7 minutes ago       Exited (0) 6 seconds ago                       centos         
8f4aa264e0be        centos:6.6          "/bin/echo 'hello wo   9 minutes ago       Exited (0) 8 minutes ago                       condescending_hoover
$ docker commit 045ff84b2e1c myimage
108af23c54b2a9c148a07779c8a74eaf7ab70c344b78e43f6a96d5b0c8d8ed07
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
myimage            latest              108af23c54b2        29 seconds ago      202.6 MB
centos              6.6                 77e369743e24        3 weeks ago         202.6 MB

上記で作成したイメージをベースに新しいコンテナを作成

$ docker run -it myimage /bin/bash
[root@c87651e32714 /]# which httpd
/usr/sbin/httpd

コンテナを一括削除

$ docker ps -aq | xargs docker rm
c87651e32714
045ff84b2e1c
8f4aa264e0be

ちなみにイメージはこう

$ docker images -q | xargs docker rmi

次は dockerfile なんかも作ってみたい