Text
Page: 1
Dockerさわってみた
とみたまさひろ
NSEG #50
2014-04-19
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 2
自己紹介
とみた まさひろ
プログラマー (Ruby & C)
http://tmtms.hatenablog.com
http://twitter.com/tmtms
https://github.com/tmtm
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 3
最近Dockerしりました
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 4
さわってみました
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 5
これはDockerの素人が発表して詳
しい人からのツッコミで教えてもら
おうという企画です
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 6
Docker
Dockerいきたい
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 7
http://www.docker.io
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 8
仮想環境を作れる
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 9
仮想マシンではなくコンテナ
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 10
コンテナ
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 11
ハードウェア層のエミュレートはし
ない
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 12
カーネルはホストOSとコンテナで
共通
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 13
コンテナ内のプロセスも普通のプ
ロセス
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 14
ホストから ps で見える
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 15
コンテナ内からホストOSや他のコ
ンテナのプロセスは見えない
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 16
ディスクやネットワークも同様
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 17
昔の User Mode Linux みたいな
もの?
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 18
FreeBSD の jail とかと似てる?
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 19
Docker
おジャ魔女どれみDockerん
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 20
64bit Linux のみ
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 21
Imutable Infrastructure
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 22
Dockerイメージからコマンド実行
コマンドが終了したらコンテナも終
了
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 23
毎回同じ状態から起動できる
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 24
終了したコンテナは残っているけど
もう起動できない
(追記:再起動もできました)
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 25
終了したコンテナからイメージを作
成することはできる
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 26
コンテナやイメージを増やしても
増えるのは差分だけ
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 27
インストール
http://docs.docker.io/installation/ubuntulinux/
http://docs.docker.io/installation/rhel/
http://docs.docker.io/installation/mac/
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 28
実行
# docker run イメージ名 コマンド
初回はイメージが自動的にダウンロードされる
コマンドが終了したらコンテナ終了
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 29
実行
# docker run -i -t centos bash
bash-4.1# ps -ef
UID
PID PPID C STIME TTY
root
1
0 0 03:22 ?
root
7
1 0 03:22 ?
bash-4.1# exit
TIME CMD
00:00:00 bash
00:00:00 ps -ef
-i 標準入力有効
-t 仮想端末あり
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 30
イメージ一覧
# docker images
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 31
コンテナ一覧
# docker ps
# docker ps -a
Dockerさわってみた
# 終了済みも含む
Powered by Rabbit 2.1.2
Page: 32
終了済みコンテナ削除
# docker rm <CONTAINER>
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 33
ファイル共有
# docker run -v <HOST_PATH>:<CONTAINER_PATH>
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 34
ポート公開
# docker run -p <HOST_PORT>:<CONTAINER_PORT>
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 35
イメージ作成
# docker commit <CONTAINER> <IMAGE_NAME>
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 36
イメージ作成
# ls
Dockerfile
# docker build .
Dockerさわってみた
Powered by Rabbit 2.1.2
Page: 37
デモ
魔法少女まDockerマギカ
Dockerさわってみた
Powered by Rabbit 2.1.2