JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

10
Docker 10分ハンズオン JAWS-UG コンテナ支部 Docker入門 #01

Transcript of JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

Page 1: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

Docker 10分ハンズオン JAWS-UG コンテナ支部

Docker入門 #01

Page 2: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

@pottava (AWS Certified) DevOps Engineer

Loves: S3, CloudFront and Containers

中丸 良

Page 3: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

ハンズオン

1. Docker操作用のEC2インスタンスを起動

2. EC2インスタンスにSSH接続して遊ぶ

2.1. 何で遊ぶかを決める

2.2. Dockerコンテナを立ち上げる

2.3. 起動したアプリに外から接続してみる

  (早く終わった方は..)

2.4. 設定などを変更してみる

Page 4: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

1. Docker操作用のEC2インスタンスを起動

今日の手順は配布資料、またはQiitaでも

http://goo.gl/h3ifLb

1.1. EC2コンソール東京リージョンにログイン

ハンズオンで使うキーペアをひとつ確保

https://goo.gl/eb1pKo

1.2. 以下リンクから、CloudFormation実行

https://goo.gl/zeiGib

Page 5: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

`docker pull` は ネットワーク負荷が高くハンズオンに不向きなので 今回は事前に人気 Dockerイメージを pullしておいた

CoreOS*ベースの AMIを利用します。

* https://coreos.com/products/#designed-for-containers  https://coreos.com/os/docs/latest/booting-on-ec2.html

Page 6: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

済Dockerイメージのダウンロード $ docker pull image-repository:tag

Page 7: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

今回遊べるアプリケーション一覧

2014年からの1年で Docker Hubからのイメージダウンロード(pull)は 5億回以上 上記 20のソフトウェアは全体の 12%(6,000万回以上)を占める人気筋

http://www.slideshare.net/Docker/dockercon-15-keynote-day-2

Page 8: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

今回遊べるアプリケーション一覧

2014年からの1年で Docker Hubからのイメージダウンロード(pull)は 5億回以上 上記 20のソフトウェアは全体の 12%(6,000万回以上)を占める人気筋

http://www.slideshare.net/Docker/dockercon-15-keynote-day-2

$ ssh -i your-ec2.pem [email protected] login: Mon Jul 27 18:00:00 2015 from your.public.ip.addressCoreOS stable (681.2.0)[email protected]$ docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEnginx latest 6886fb5a9b8d 8 days ago 132.8 MBjava 8 49ebfec495e1 11 days ago 816.4 MBubuntu 14.04 d2a0ecffe6fa 2 weeks ago 188.3 MBdrupal 8 78acaa3b63d7 12 days ago 565.2 MBmysql 5.6 a128139aadf2 34 hours ago 283.8 MBjenkins latest d9816a38f13b 11 days ago 887 MBwordpress latest 59aa685ef291 2 days ago 511.4 MBrails 4.2.3 722c7f393bc4 11 days ago 810.8 MBpython 3.4 545faa5764ae 8 days ago 684.7 MBnode 0.12 c03077d1e6a0 11 days ago 639.7 MBfedora 22 ded7cd95e059 8 weeks ago 186.5 MBgolang 1.4 124e2127157f 11 days ago 517.2 MBhttpd 2.4 a2ceb9245c63 11 days ago 162 MBtomcat 8 71093fb71661 11 days ago 347.6 MBpostgres 9.4 730d1d72bda2 34 hours ago 265.3 MBmongo 3.0 9ade5017d47b 12 days ago 260.9 MBlogstash latest 67a9ea3a54f6 4 days ago 483.5 MBglassfish latest b0316e34d118 11 days ago 948.7 MBcentos 7 7322fbe74aa5 5 weeks ago 172.2 MBmono 4 f06df13e95d3 12 days ago 617.1 MBredis 3 0ff407d5a7d9 8 days ago 109.5 MB

# 後ほどサーバに SSH接続したら、すでに pullしてある Dockerイメージの一覧を確認してみましょう

Page 9: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

2.1. SSH接続(ユーザ名注意!!ec2-userではなく、coreです!)your-host$ ssh -i your-ec2.pem [email protected]

2.2. アプリを選び、実行手順をechoで表示core@ec2$ ls handson/how-to core@ec2$ echo -e $(cat handson/how-to/mysql.txt)

core@ec2$ docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:5.6

2.3. 手順に従いコンテナを起動してみよう!

2. EC2インスタンスにSSH接続して遊ぶ

Page 10: JAWS-UG コンテナ支部 Docker入門 10分ハンズオン

DockerとECS

ひとつのサーバでひとつのコンテナ

  とってもかんたん

複数のサーバで複数種類のコンテナ

  ものすごーくむずかしい

  → 助けて、ECS!