Docker簡単にさわる
Docker
会社で環境を壊すという失態をしてしまったため、
Ansibleさんの自動化もすすめたいところだけど、ちょっとだけDockerさわってみることにした。
Macでのインストールはboot2docker
を利用する。
Mac直だとDockerさんは動かないみたい。
そのためboot2docker
さんで軽いVMをうごかしてその上でDockerさんを動かすイメージと認識。(あってるかな?)
インストール自体は超簡単
$brew install docker boot2docker
インストールしてみたもののどうなら勉強したいVagrant環境でやってみようとおもってそっちで進める
おまじないのようになってきたこいつ
$ vagrant init centos6.5 $ vagrant up $ vagrant ssh
公式サイトに従いながらインストール
sudo yum -y update sudo yum install docker-io
そして起動してみる。
pull
はDockerイメージをダウンロードするためのコマンド。
ここではcentosの最新を指定している。
images
はpullしたDockerイメージの一覧を表示するためのコマンド。
run
はDockerコンテナーを実行するコマンド。とりあえずbashを実行する。
sudo service docker start sudo docker pull centos:latest sudo docker images sudo docker run -i -t centos /bin/bash
試しにテンポラリにファイルを作ってみて
bash-4.1# ls -l /tmp/ total 0 bash-4.1# touch /tmp/hoge bash-4.1# ls -l /tmp/ total 0 -rw-r--r-- 1 root root 0 Jun 22 08:10 hoge
ぬけて、もう一回見てみると、ふぁいるがない!
bash-4.1# exit exit [vagrant@vagrant-centos65 ~]$ sudo docker run -i -t centos /bin/bash bash-4.1# ls -l /tmp/ total 0 bash-4.1#
docker ps -a
で確認してみると、2つのコンテナが作成されていたことがわかる。
気軽にらんらんしちゃあかんのかな。
[vagrant@vagrant-centos65 ~]$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eaefaadad338 centos:latest /bin/bash About a minute ago Exited (0) 6 seconds ago furious_thompson c2fe5ff7b502 centos:latest /bin/bash About a minute ago Exited (0) About a minute ago goofy_thompson
コンテナの削除はdocker rm PID
で、PIDは先頭数文字で消せるみたい。
[vagrant@vagrant-centos65 ~]$ sudo docker rm c2 c2 [vagrant@vagrant-centos65 ~]$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eaefaadad338 centos:latest /bin/bash 2 minutes ago Exited (0) About a minute ago furious_thompson [vagrant@vagrant-centos65 ~]$
とりあえずnginxでも入れてみる。
EPEL Repogitoryの追加が必要。
$ sudo docker run -i -t centos /bin/bash # rpm -i http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm # yum -y update # yum -y install nginx
ちょっとさわった感想
Vagrantさんとの使い分けがあまりわかってないな。
CIとかでがんがん作って消してをするならこっちの方が良さそうというのはわかる。
何となくさわってみてイメージつかみやすいのはVagrantさん。おおもとはVMだから当然っちゃ当然かも。
AWSはどっちも使えるみたいだしなぁ。