togatttiのエンジニアメモ

過度な期待はしないでください.

SeleniumサーバをDockerで構築する

SeleniumサーバをDockerコンテナとして構築する。

すでにGitHubdocker-seleniumというプロジェクトが出ているが、

今回は日本語環境で利用したかったので、ゼロから作り直した。

github.com

使い方

$ git@github.com:kentatogashi/docker-selenium-ja.git
$ cd docker-selenium-ja
$ docker build -t 'kentatogashi/docker-selenium-ja' .
$ docker run -dt -p 4444:4444 -p 5901:5901 kentatogashi/docker-selenium-ja

後記

デスクトップには、xfce4を使用していて、VNCでもつなぐことができる。

ちなみに、MacOSだと便利なことに、openコマンドで、簡単に立ち上げられる。

$ open vnc://selenium@192.168.99.100:5901

entrypointでは、vncserverの起動とXサーバを経由してSeleniumを起動する。

ただ、vncserver起動時にパスワードを対話形式で聞かれてしまうので、少しハマった。

結果的に、vncpasswdで、パスワードを事前に作成しておいて、それをコンテナに置くようにした。

Dockerfileには、こんな記述を書いた

# VNC Password
RUN mkdir /root/.vnc
ADD .vnc/passwd /root/.vnc/passwd
RUN chmod 600 /root/.vnc/passwd

コマンドラインの結果をデスクトップに出力するために、 DISPLAYをきちんと指定が必要なのは初めて知った。

例えば、コマンドラインから、firefoxを実行する場合

$ DISPLAY=:1 firefox

こうしておくと、デスクトップで開ける。

追記(2016/03/19)

Docker Hubに、登録したので、docker pull できる。

https://hub.docker.com/r/kentatogashi/docker-selenium-ja/

参考

DockerのUbuntu14.10の日本語化環境イメージを作成(Ubuntu) | BROKENDISH

CentOS/Ubuntu Linuxで、Oracle JDK 8をインストールしたDockerイメージを作る - CLOVER