Dockerを触る

触ろう、触ろうと思ってなかなか触れなかったDockerを簡単に触ったので、そのメモです。


今回はCentOS6.6(64bit版)を使って環境を作りました。

インストール


EPELリポジトリからRPMパッケージでインストールします。

# rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum install --enablerepo=epel docker-io


サービスが起動できればOK。

# service docker start                                                                                                      
Starting cgconfig service:                                 [  OK  ]
Starting docker:                                           [  OK  ]

コンテナを操作してみる


コマンドを試してみます。

コンテナの情報を表示
# docker info
Containers: 0
Images: 2
Storage Driver: devicemapper
 Pool Name: docker-253:0-25057-pool
 Pool Blocksize: 65.54 kB
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 306.8 MB
 Data Space Total: 107.4 GB
 Metadata Space Used: 782.3 kB
 Metadata Space Total: 2.147 GB
 Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Kernel Version: 2.6.32-504.12.2.el6.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 490.4 MiB
Name: localhost.localdomain
ID: YEDK:TCTC:VEJU:TQWG:ETRC:LSX2:TIY5:YTMC:62GJ:ZY7L:HS74:OSXG
バージョンの確認
# docker version                                                                                                            
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8/1.4.1
OS/Arch (client): linux/amd64
Server version: 1.4.1
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8/1.4.1
Docker Imageをダウンロード

CentOSの最新版イメージをダウンロードする例です。

# docker pull centos:latest
centos:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete                                                                                                                   
b6718650e87e: Pull complete                                                                                                                   
41054cbffecc: Pull complete                                                                                                                   
214a4932132a: Pull complete                                                                                                                   
Status: Downloaded newer image for centos:latest  
Docker Imageの一覧表示
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              214a4932132a        43 hours ago        229.6 MB
Docker Imageを起動する
# docker run -i -t -d 214a4932132a /bin/bash
506b46e19ba9da0760c83f947cdf972693ad6a47f05ead789efea499c83555c7
起動中のコンテナを表示する
# docker ps                                                                                                                 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
506b46e19ba9        centos:latest       "/bin/bash"         8 minutes ago       Up 8 minutes                            furious
起動したコンテナに接続する
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
506b46e19ba9        centos:latest       "/bin/bash"         9 seconds ago       Up 8 seconds                            furious

# docker exec -it 506b46e19ba9 /bin/bash                                                                       
[root@506b46e19ba9 /]# ps -fe
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 12:03 ?        00:00:00 /bin/bash
root        19     0  0 12:05 ?        00:00:00 /bin/bash
root        38    19  0 12:05 ?        00:00:00 ps -fe
[root@506b46e19ba9 /]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
コンテナを起動する
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
506b46e19ba9        centos:latest       "/bin/bash"         9 seconds ago       Up 8 seconds                            furious

# docker start 506b46e19ba9
506b46e19ba9
コンテナを停止する
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
506b46e19ba9        centos:latest       "/bin/bash"         9 seconds ago       Up 8 seconds                            furious

# docker stop 506b46e19ba9                                                                                                  
506b46e19ba9
コンテナを再起動する
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
506b46e19ba9        centos:latest       "/bin/bash"         9 seconds ago       Up 8 seconds                            furious

# docker restart 506b46e19ba9
506b46e19ba9
コンテナを削除する
# docker stop 506b46e19ba9
506b46e19ba9

# docker rm 506b46e19ba9
506b46e19ba9

# docker ps -a                                                                                                              
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
イメージを削除する
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              214a4932132a        43 hours ago        229.6 MB

# docker rmi 214a4932132a
Untagged: centos:latest
Deleted: 214a4932132a05e9cc97624436a77743f368948c4776b186975d319140e8b45c
Deleted: 41054cbffecca8ca909a0c4c163eb0ddb25f50311a96de136239d3b4287b3618
Deleted: b6718650e87e3706c52682c87ecfd7a7e1fc176c9095d73d627ca41b2584839b
Deleted: 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE


時間を作ってまた触っていこうと思います。


今日はこんなところで。