狠狠撸
Submit Search
顿辞肠办别谤て?らくらく开発?运用を体感しよう
?
7 likes
?
3,166 views
Takashi Makino
第6回 よこはまクラウド勉強会
Read less
Read more
1 of 27
Download now
Downloaded 23 times
More Related Content
顿辞肠办别谤て?らくらく开発?运用を体感しよう
1.
Dockerで らくらく開発?運?用を 体感しよう 第6回 ?よこはまクラウド勉強会 March ?21,
?2015 @makinog3
2.
今?日の?目的 ハンズオンでDockerを経験しつつ、 コンテナ技術の基礎と 開発?運?用にどう利利?用できるのかを学ぶ
3.
コンテナって? ?? ハードウェア仮想化のひとつ ?? VMwareとかの仮想化と何が違うの?
4.
従来の仮想化技術 (ハイパーバイザー) ホストOS ハイパーバイザー VMwareなど ハードウェアの
エミュレーション ↓ オーバーヘッド大
5.
コンテナ ホストOS コンテナエンジン Dockerなど ホストOOSS(カーネル) の上で直接アプリケー ション(ユーザプロセ ス)が実行される
↓ オーバーヘッド小
6.
例例えるなら… VVSS ラーメン博物館
一兰
7.
コンテナ型仮想化の特徴 ?? 単?一のOS(例例えばLinux)のみ稼働 ?? 速い ??
インフラ(ミドルウェアなどの開発環境、運?用環 境)を共通化できる 今日の ポイント
8.
Dockerの実装 (利利?用している技術) ?? Linux ?Namespaces コンピューターリソースの隔離離 ??
Linux ?cgroups コンピューターリソースの制限 ?? AUFS/Device ?Mapper ?Thin ?Provisioning ファイル/ディレクトリの差分管理理 ?? Linux ?iptables 他のホスト、他のコンテナーとのネットワークの構成
9.
Dockerの世界 Dockerエンジン Dockerイメージ ディレクトリ/ ファイルの アーカイブ
10.
とにかく触ってみる ?? Amazon ?EC2のインスタンス起動 ??
Dockerをインストール ?? Docker ?Hub ?Registryからベースのイメージをダ ウンロード ?? イメージを加?工して実?行行
11.
Dockerインストール ?? Amazon ?LinuxでEC2インスタンス作成 ??
sshログイン ?? Amazon ?Linuxの初期ユーザは ?”ec2-‐??user” ?? Dockerエンジンのインストール $ ?sudo ?yum ?install ?–y ?docker
12.
Dockerのコマンド(1) コマンド 概要
pull REPOSITORY Docker Hub Registryからイメージを取り込む images 手元にあるイメージの一覧 ps コンテナの一覧 run IMAGE イメージからコンテナを起動 start CONTAINER コンテナを起動 stop CONTAINER コンテナを停止 top CONTAINER コンテナで実行中のプロセスの一覧
13.
コンテナを起動する ?? イメージを取り込む $ ?sudo
?docker ?pull ?learn/tutorial ?? コンテナ内でコマンドを実?行行する $ ?sudo ?docker ?run ?learn/tutorial ?echo ??’Hello, ?Docker!?’ ?? コンテナ内でシェルを実?行行する(ログインしてみる) $ ?sudo ?docker ?run ?–it ?learn/tutorial /bin/bash
14.
コンテナをちょっと加?工 ?? pingをインストール $ ?sudo
?docker ?run ?learn/tutorial ?apt-‐??get ?install ?–y ?ping ?? コンテナを確認 $ ?sudo ?docker ?ps ?–a ?? イメージの作成 $ ?sudo ?docker ?commit ?CONTAINER ?makinog3/ping ?? 新しいイメージでコンテナを起動 $ ?sudo ?docker ?run ?makinog3/ping ?ping ?www.google.com
15.
Dockerのコマンド(2) コマンド 概要
commit CONTAINER REPOSITORY コンテナからイメージを作成 save IMAGE > TARファイ ル イメージをファイルに出力する load < TARファイル ファイルをイメージとして取り込む export CONTAINER > TAR ファイル コンテナをファイルに出力する import URL REPOSITORY ファイルからイメージを取り込む
16.
コンテナを保存、再利利?用 ?? コンテナをファイルに出?力力 $ ?sudo
?docker ?export ?CONTAINER ?> ?/tmp/ docker_?learn_?ping.tar ?? イメージを取り込む $ ?cat ?/tmp/docker_?learn_?ping.tar ?| ?sudo ?docker ? import ?– ?learn/ping2
17.
Dockerの使いどころ ?? コンテナでWebサーバを起動する ?? Docker?leによるコンテナ環境のドキュメント化 ??
Elastic ?BeansTalk(PaaS)へのデプロイ
18.
コンテナでWebサーバ ?? Nginxをコンテナにインストール $ ?sudo
?docker ?pull ?ubuntu $ ?sudo ?docker ?run ?ubuntu ?apt-‐??get ?install ?–y ?nginx $ ?sudo ?docker ?commit ?CONTAINER ?nginx1 ?? Nginxを起動 $ ?sudo ?docker ?run ?-‐??d ?-‐??p ?80:80 ?nginx1 ?/usr/sbin/ nginx ?-‐??g ?'daemon ?o?;' ? ?? AWSのセキュリティグループ修正 ?? 80番ポートを公開する コンテナの80番 ポートをホストの 80番に割り当てる コンテナはフォア グランドで動くプ ロセスがいないと 停止してしまう
19.
Dockerのコマンド(3) コマンド 概要
build -t REPOSITORY DIRECTORY Dockerfileからイメージを作成
20.
なぜDocker?le? ?? コンテナ環境構築の?手順をドキュメント化 ?? 開発環境などを構築する際、コンテナで?行行なうミド ルウェアのインストールなどを?手作業でやらない ??
ソースなどと?一緒にGit/Subversionなどのリポジト リで管理理できる ?? 環境の変更更(ミドルウェアの追加)を差分管理理できる ?? ファイルシステム全体のアーカイブであるイメー ジファイルよりも?小さい
21.
Docker?leの命令令 命令 概要
FROM IMAGE 元になるイメージの指定 MAINTAINER MAINTAINER 作成者 RUN COMMAND コマンドの実行 ADD FILE DIRECTORY ファイル、ディレクトリの追加 CMD コンテナの実行コマンド ENTRYPOINT コンテナの実行コマンド WORKDIR 作業ディレクトリの指定 ENV 環境変数の指定 USER 実行ユーザの指定 EXPOSE ポートの公開(利用するポートの指定) VOLUME ボリューム(ホストのディレクトリ)のマウント
22.
Docker?leを書く FROM ?ubuntu MAINTAINER ?makino
?<makinog3@gmail.com> RUN ?apt-‐??get ?install ?-‐??y ?nginx ADD ?index.html ?/usr/share/nginx/html/ CMD ?["/usr/sbin/nginx", ?"-‐??g", ?"daemon ?o?;"]
23.
イメージの作成?起動 ?? Docer?le等を書く $ ?vi
?Docker?le $ ?vi ?index.html ?? イメージの作成 $ ?sudo ?docker ?build ?-‐??t ?nginx2 ?. $ ?sudo ?docker ?images ?? コンテナを起動 $ ?sudo ?docker ?run ?-‐??d ?-‐??p ?80:80 ?nginx2 ?/usr/sbin/ nginx
24.
ホストにファイルを出?力力する ?? ホストのディレクトリをコンテナにマウント $ ?sudo
?mkdir ?/var/log/docker_?nginx2 $ ?sudo ?docker ?run ?-‐??d ?-‐??p ?80:80 ?-‐??v ?/var/log/ docker_?nginx:/var/log/nginx ?nginx2
25.
Elastic ?BeansTalkとは ?? Amazon
?Web ?Serviceが提供するPaaS環境 ?? ロードバランサ(ELB)によるオートスケール環境 が簡単に利利?用できる ?? Dockerに対応、Docker?leやイメージをそのままデ プロイできる
26.
Elastic ?BeansTalkにデプロイ ?? AWSコンソールからElastic
?BeansTalkのインス タンスを起動 ?? Docker?leを指定してデプロイ
27.
まとめ ?? やったこと ?? コンテナ技術、Dockerの基礎 ??
Amazon ?EC2でDockerを使った環境構築 ?? Elastic ?BeansTalkへのデプロイ ?? やってないこと ?? レジストリへのイメージの登録(push) ?? AWS以外のコンテナサービスの利利?用 ?? Google ?Compute ?Engine、Azule ?? Amazon ?EC2 ?Container ?Service ?? ほか、いっぱい
Download