インフラエンジニアXの備忘

とある企業のシステム部門のインフラエンジニアです。忘れっぽい自分のメモ書きとしてこのブログを使用します。

Dockerとはなんぞ?

Dockerについて全然調べていなくって、今さら試してみたメモ
試すだけなので
VirtualBox上にCentOS6.6のVMを作ってそのなかでDockerを試してみる。

目的

  • Dockerがどんなもんなのかを確認する。


メモ

MACでの作業
VirtualBoxVagrantはインストールしておいてvagrant box add コマンドでcentos6.6のboxを保存しておく。

vagrant box add centos6 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.6_chef-provisionerless.box

この後chefも試したいと思っていたので、該当のboxをダウンロードしておく。


適当にVM用のディレクトリを作成する。

mkdir dockertest
cd dockertest
vagrant init 
vi Vagrantfile →とりあえず config.vm.box="centos6" だけ設定しておく。 
vagrant up
vagrant ssh


VMでの作業

yumでdockerをインストールするため、epelリポジトリを入れて、インストールする。
その後サービスを起動する。

[vagrant@localhost ~]$ sudo rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
[vagrant@localhost ~]$ sudo yum install docker-io
[vagrant@localhost ~]$ sudo service docker start

試すだけなのでchkconfigで自動起動しないでもいいや。


試しなので…

[vagrant@localhost ~]$ sudo gpasswd -a vagrant docker
一度再ログインする。


Dockerを起動する前の準備

dockerhubからdocker pull コマンドでcentos:6.6のイメージを取得してくる。
docker pull centos:6.6 ※latest にするとcentos7になってわからなくなっちゃいそうなので。

[vagrant@localhost ~]$ docker pull centos:6.6
centos:6.6: The image you are pulling has been verified
511136ea3c5a: Pull complete
5b12ef8fd570: Pull complete
0bc55ae673f7: Pull complete
Status: Downloaded newer image for centos:6.6
[vagrant@localhost ~]$


docker images 取得したイメージを表示する。

[vagrant@localhost ~]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              6.6                 0bc55ae673f7        3 weeks ago         215.8 MB


docker コンテナを起動してみる。

[vagrant@localhost ~]$ docker run -i -t centos:6.6 /bin/bash
[root@958fc2a6e01e /]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3  14728  1852 ?        Ss   07:24   0:00 /bin/bash
root        20  0.0  0.2  16660  1144 ?        R+   07:25   0:00 ps aux
[root@958fc2a6e01e /]#exit
[vagrant@localhost ~]$

centos6.6を起動して、bashでログインして、psコマンドを打って、OS終了…。
手軽すぎ。


docker コンテナをバックグラウンドで起動してみる。

[vagrant@localhost ~]$ docker run -i -t -d centos:6.6 /bin/bash
da4a862df8331042ccfacff6c7c6f783ff3b1d759af952654b98f13b1cd2b92c


起動したコンテナの確認

[vagrant@localhost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
da4a862df833        centos:6.6          "/bin/bash"         8 seconds ago       Up 8 seconds                            cocky_euclid


起動したコンテナに接続

[vagrant@localhost ~]$ docker attach da4a862df833

[root@da4a862df833 /]#
[root@da4a862df833 /]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.3  14728  1848 ?        Ss   07:29   0:00 /bin/bash
root        19  0.0  0.2  16652  1144 ?        R+   07:30   0:00 ps aux
[root@da4a862df833 /]#


起動したコンテナの終了

[root@da4a862df833 /]# exit
[vagrant@localhost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[vagrant@localhost ~]$

ターミナルがスクロールする前にOSの起動と終了が終わった。


面白い…