狠狠撸
Submit Search
Docker compose selenium-grid_tottoruby_25
?
1 like
?
738 views
Masayuki Hokimoto
Follow
docker0compose x Selenium Grid
Read less
Read more
1 of 47
Download now
Download to read offline
More Related Content
Docker compose selenium-grid_tottoruby_25
2.
自己紹介 ほきもと まさゆき(30歳) リコーITソリューションズ(株) (8年目) Twitter
: @oh_rusty_nail docker歴 : 6か月 発表内容は初心者向け(10minくらい) 発表までの学習時間は2週間くらい とっとるびーで発表するのは第12回 (2013/05)ぶり 自己紹介
3.
はじめに
5.
インストール
6.
http://qiita.com/taroshin/items/22bb360b18a0a24871dd その書き方対応してません! と早速怒られた
7.
诲辞肠办别谤-肠辞尘辫辞蝉别とは
8.
诲辞肠办别谤-肠辞尘辫辞蝉别とは $ docker run
… mysql $ docker run … nginx $ docker run … app $ docker run … redis
9.
诲辞肠办别谤-肠辞尘辫辞蝉别とは $ docker-compose up
10.
诲辞肠办别谤-肠辞尘辫辞蝉别とは ?複数のコンテナをコード(docker-compose.yml)で管理する ?コンテナの同時起動/停止 ?コンテナのスケール
11.
docker-compose.yml http://docs.docker.jp/compose/overview.html http://docs.docker.jp/compose/compose-file.html (リファレンス)
12.
docker-compose コマンド
13.
$ docker-compose up container Ex)
$ docker-compose up [ -d ] docker hub Dockerfile build pull container image network
14.
$ docker-compose build container image Dockerfile Ex)
$ docker-compose build build
15.
$ docker-compose create container docker
hub Ex) ($ docker network create --driver bridge xxx_default) container image Dockerfile build pull ネットワークが構築されていないとコンテナは作られない 作られたコンテナは起動していない $ docker-compose create network
16.
$ docker-compose start container START Ex)
$ docker-compose start 停止されたコンテナを起動する 新しいコンテナは作られない docker hub container image Dockerfile build pull network
17.
$ docker-compose stop container STOP Ex)
$ docker-compose stop docker hub Dockerfile build pull container image network
18.
$ docker-compose rm container Ex)
$ docker-compose rm docker hub Dockerfile build pull container image コンテナが停止されていないと コンテナは削除できない network
19.
$ docker-compose down container (--rmi
all オプション) STOP Ex) $ docker-compose down [ --rmi all ] docker hub Dockerfile build pull container image network
20.
$ docker-compose run container Ex)
$ docker-compose run web rails s docker hub Dockerfile build pull container image 実際には $ docker run –ti を処理している network
21.
$ docker-compose scale container container container Ex)
$ docker-compose scale web=3 docker hub Dockerfile build pull container image network
22.
诲辞肠办别谤-肠辞尘辫辞蝉别を使ってみる
23.
今回やってみたこと E2Eの自動テストを行うための環境数分で構築してみる https://github.com/RustyNail/selenium_grid_docker-compose docker-compose Selenium Grid ×
24.
Selenium Gridとは ? 複数のSeleniumの実行環境を管理し、並列にテストを実行できるツール ?
1つのテストスクリプトを複数環境に対して並行して実行できる ? テストの実行時間を大幅に短縮することが可能 ? Selenium Gridの構成 ? Hub ??? テストスクリプトを受け付けるサーバー ? Node ??? 実際にテストを実行する環境
25.
コンテナの構成 ? 以下4つのコンテナで構成する ? hub
(Selenium Grid) ? node_firefox (Firefoxのノード) ? node_chrome (Chromeのノード) ? test (Seleniumでスクショをとるスクリプト)
26.
docker-compose.yml Dockerfile screenshot.rb
27.
wait-for-it.sh
28.
$ docker-compose up $
docker-compose run
29.
Selenium Grid
30.
$ bundle exec
ruby screenshot.rb ? スクリーションショットが撮れている ? (日本語フォントをいれていないのでトウフになっている)
31.
$ docker-compose scale
32.
$ docker-compose scale ?
指定した台数に増加 ? 並列実行環境を構築できる
34.
linksとdepends_on 似てる? ? version
1とversion 2で違いがあった。以下はversion 1の場合 ? depends_on ? コンテナの作成順序と依存関係を決めるもの ? links ? depends_onの機能に加えて、[エイリアス名](または[サービス名])を使用してコンテナに アクセスできるようにする
35.
? links ? 他のサービスをコンテナにリンクさせる ?
サービス名に別名をつける場合はservice:aliasの形式で指定する ? 別名を省略した場合は、サービス名がそのまま別名として使われる ? version 1:他のコンテナからサービス名を使って接続することができなかった ? linksで紐付けする必要があった ? version 2:composeファイルに書いた全てのサービス間に自動的にリンクを張る仕様になった ? linksとわざわざ書く必要がなくなった linksとdepends_on 似てる?
36.
? depends_on ? コンテナを立ち上げる順番を決める ?
コンテナが起動する順番を指定しても、起動完了まで待ってくれない ? 接続したいデータベースが準備できていないのに、先にWEBアプリが立ち上がるという問題も起こりうる linksとdepends_on 似てる?
37.
はまったこと ~linksに書いても/etc/hostsに反映されない~ ? 名前解決をさせたい ?
ググルとlinksに書くと/etc/hostsに反映されるという記事が結構ある ? linksに書いたが、/etc/hostsを見ても書き込まれない??? ? バージョンが古い(1.4系)とその現象が起きたという記事はあった ? けど、今のバージョンは1.11.2(最新)
38.
はまったこと ~linksに書いても/etc/hostsに反映されない~ https://github.com/docker/compose/issues/2841
39.
https://blog.docker.com/2016/02/docker-1-10/ 名前解決のためのDNSサーバ:ホスト名の検索は、 /etc/hostsではなくDNSサーバで行われるため、 より信頼性とスケーラビリティが向上します。
40.
http://docs.docker.jp/engine/userguide/networking/configure-dns.html
41.
? docker network
inspect [ネットワーク名] 結論
42.
? port is
already allocatedと言われる ? コンテナの削除やdockerの再起動をしたがダメだった はまったこと2 ~dockerでゾンビ化したポートを開放する~
43.
はまったこと2 ~dockerでゾンビ化したポートを開放する~ ? コンテナの利用していたポートを掴んだまま 終了して、コンテナ再起動時にエラーになる ことがあるらしい ?
通常はdockerの再起動でポートが解放される ? ファイルを削除 & docker再起動で解決! ? https://unicorn.limited/jp/item/707
44.
おわりに
45.
まとめ ? docker /
docker-compose お手軽!すごい便利! ? 基本docker-compose up でいい感じにできるけど、リファレンスをちゃんとみたほうがいい ? まず、docker hubにないか探してみるべし
46.
http://qiita.com/ootaken/items/26d37cb34d3b575277e0
Download