Cloud on the BEACH 2015Dockerで運用しようそうしよう ハンズオン
自己紹介
名前 米須 渉(Yonesu Wataru)
Twitter @asumaslv
Facebook asumaslv
性格 飽きっぽく冷めやすい
JAWS-UG沖縄代表らしい
お願い
• ハッシュタグを付けてtweetしてください
• #jawsug
• マサカリ を投げていただけるなら歓迎です
• blogを書くまでが勉強会です。
Agenda
• DockerやMachine/Swarm/Composeの話
• 1時間でハンズオンまで行うとかなり厳しいかも
Dockerってなんじゃらほい
• コンテナ技術による仮想化ソフトウェア
• 2014年にブレイク
• Build, Ship and Run Any App, Anywhere
ハイパーバイザー型仮想化基盤
ハードウェア
仮想化ソフト
ゲストOS ゲストOS
Application Application
仮想マシン 仮想マシン
完全仮想化
コンテナ型仮想化基盤
ハードウェア
Linux Kernel
bin/libs bin/libs
Application Application
Dockerの良いところ
• 起動が超速い amiの起動が遅く感じる
• OSの起動ではなくプロセスの起動
• 必要サービスだけを動かす(例: HTTP)
• 仮想マシンの上でも動作する
• ポータビリティが高い
Machine Swarm
Compose公式オーケストレーションツール
Docker Machine
• 自社運用/Public Cloud問わずDockerホストを簡単に作成/管理できる
• https://github.com/docker/machine/tree/master/drivers
• Amazon EC2/Microsoft Azure/Microsoft Hyper-V
• DigitalOcean/Google Compute Engine
• OpenStack/Rackspace/SoftLayer/VirtualBox
• VMware Fusion VMware vCloud Air VMware vSphere
Docker Swarm
• 複数のDockerホストをクラスタリング
• 今後機能拡張で幸せになれそうな*気がする*
Docker Compose
• 複数Containerの定義を設定ファイルで管理
• Infrastructure as Codeが可能となる
サーバへのLogin情報
ホスト名
ユーザ名
key
dock image pull
docker pull centos
dock imageの確認
docker images
docker Containerの起動
docker run --name=Container名 -i -t ubuntu /bin/bash
• exitで抜けるとContainerが終了する
docker Containerの確認
docker ps -a
• Containerが終了していることを確認
docker Containerの再起動
docker start Container名#起動していることを確認docker ps
docker Containerへのアタッチ
docker attach Container名
• exitするとContainerが終了
docker Containerを落とさずにLogin
docker start 名前#起動していることを確認docker ps# execを利用docker exec -ti Container名 /bin/bash# 終了exit#起動していることを確認docker ps
docker ContainerのImage化
# Container ! Imagedocker commit Container名 Repository:TAG
#Imageの確認docker images
docker Containerの削除
docker rm Container名
Amazon ECSEC2 Container Service