Docker笔记
Dockerメモ
由于学习了Docker,所以做了笔记。
Docker是什么?
2016年版、Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き)
簡単にWebサーバーとかDBサーバーとかの開発環境を作れる。
この作った環境を、簡単に本番環境にも作れるので、開発環境と本番環境が同一となる。
流浪汉和无家可归者有什么不同?
你可以说出Docker和Vagrant的区别吗?即使是新手工程师也可以理解的我自己总结。
Docker只能在Linux上运行。
所以,如果在Mac上使用,需要使用Vagrant来启动Linux,并在那里运行Docker。
实际使用时,使用Docker for Mac会更方便。
可以试试最新的Docker for Mac的公测版本。
Docker应用案例
Docker-composeっていうのを使ってます。
これを使うと、コマンド一個でいろいろ立ち上がるので楽です。
创建LAMP环境
使用Docker Compose来启动LAMP环境。
Dockerコンテナに入る方法
用以下命令在本机执行容器名为`コンテナ名`的容器,并进入bash终端:
$ docker exec -it コンテナ名 bash
如果想要使用本地的源码。
https://github.com/naga3/docker-lamp.git の docker-compose.yml を修正。
volumes:
// - ./html:/var/www/html -> 左側がlocal環境、右側がコンテナ内。ここを自分の環境見ながら修正
- ~/Code/php:var/www/html //->こうやると、~/Code/php内のファイルをlocalhostで参照できる。
apacheサーバのリスタート
$ docker-compose restart
停止したい時は、$ docker-compose downだけで。
コマンド一覧は、こちらdocker-compose コマンドまとめ
我们的目标。
目前还没有。
创建Selenium执行环境
使用docker-compose来运行一个带有Selenium网格的容器集群。
mkdir selenium-docker
cd selenium-docker
vi docker-compose.yml
docker-compose up -d
hub:
image: selenium/hub
ports:
- "4444:4444"
firefox:
image: selenium/node-firefox
links:
- hub
chrome:
image: selenium/node-chrome
links:
- hub
当你访问http://localhost:4444/grid/console时,如果有任何输出,则表示成功。
创建测试文件
$ mkdir jstest
$ vi package.json
$ npm -g install mocha
$ npm install --save-dev selenium-webdriver
$ npm install --save-dev expect.js
$ vi test.js
$ mocha test.js --timeout 20000
var webdriver = require('selenium-webdriver');
var t = require('selenium-webdriver/testing');
var expect = require('expect.js');
var driver;
var assert = require('assert');
var By = webdriver.By;
t.describe('テスト', function () {
t.before(function () {
driver = new webdriver.Builder().usingServer('http://localhost:4444/wd/hub')
.withCapabilities(webdriver.Capabilities.chrome()).build();
});
t.after(function () {
driver.quit();
});
t.it('テスト1', function () {
driver.get('http://example').then(function () {
driver.findElement(By.className('btnYes')).click();
driver.findElement(By.className('btnYes')).click();
driver.findElement(By.className('btnYes')).click();
driver.findElement(By.className('btnYes')).click();
//エラーメッセージを取得して、文言が正しいかチェックする
var parent = driver.findElement(By.className("test"));
driver.wait(parent.findElement(By.tagName("a")).getText(), 1000)
.then(function (text) {
expect(text).to.be('テストです');
});
});
});
});
在测试时保存屏幕截图。
可以使用这个。
追寻下一个目标
使用上述的方法,可以在Linux环境下使用Chrome和Firefox进行浏览器测试。
另外,为了加快测试速度,可以进行并行执行。
通过使用Docker来搭建Selenium Grid并行执行环境。
为了实现能够通过手机、Mac和Windows环境进行测试,我们将准备实际设备,并将目标定为使用Selenium Grid。