What is Docker ?
Server
HOST OS
Hypervisor
GuestOS GuestOS
Bins/Libs
App A
Bins/Libs
App B
Virtual Machines
それぞれのアプリを動かすための
実行環境として、わざわざ別の
ゲストOSを用意。
15
What is Docker ?
Server
HOST OS
Hypervisor
GuestOS GuestOS
Bins/Libs
App A
Bins/Libs
App B
Virtual Machines
ゲストOSだけではなく、
HyperVisorという謎の物体もある
16
What is Docker ?
Server
HOST OS
Docker Engine
Bins/Libs
App A
Bins/Libs
App B
Docker
ゲストOSいらず。
いきなりコンテナとしてアプリ実
行環境をポコポコ作れる。
ハイパーバイザーもいらない。
17
What is Docker ?
VirtualMachine vs Docker
Virtual Machine Docker
起動 数分は必要 1秒くらい
メモリ OS本体分の確保が必要 プロセスの分だけ
OSの自由度 OSそのものなので自由にできる 母艦ホストに依存
ディスク容量 OS分は必要 コンテナで使う分だけ
18
Hands on.
【レッスン1】 dockerのイメージを入手、そして確認。
# docker pull centos:centos6
centos:centos6: The image you are pulling has been verified
511136ea3c5a: Pull complete
5b12ef8fd570: Pull complete
f6808a3e4d9e: Pull complete
Status: Downloaded newer image for centos:centos6
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos centos6 b9aeeaeb5e17 32 hours ago 202.6 MB
centos 6 b9aeeaeb5e17 32 hours ago 202.6 MB
79
イメージ名
【レッスン4】 コンテナから出て確認します。
Hands on.
[root@6b484935c662 /]# exit
exit
[root@ip-172-31-8-137 ~]#
/bin/bashというアプリを立ち上げるプロセスに入っていたので、
そこからexitする=コンテナ終了となります。
コンテナから出ます
EC2インスタンス(ホストOS)に
戻ります
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
コンテナは消えています。
83
Hands on.
【レッスン5】 落ちたコンテナを確認→立ち上げてみます。
再度、動かすことができました。
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b5a30e66a89b centos:centos6 "/bin/bash" About a minute ago Exited (0) 4 seconds ago suspicious_mcclintock
# docker start bdebb1137587
b5a30e66a89b
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b5a30e66a89b centos:centos6 "/bin/bash" 3 minutes ago Up 10 seconds suspicious_mcclintock
Exitして終了している
叩き起こしてみる
生き返る!
コンテナID
84