m's blog

備忘録とかメモとか

【Selenium】docker-seleniumでVNCパスワードを変更してみる!

【Selenium】docker-seleniumでVNCパスワードを変更してみる!

今回は、docker-seleniumでVNCパスワードを変更する方法を紹介したいと思います。

目次

Dockerfileでイメージカスタム

Dockerfileで以下のようにdocker-seleniumイメージを調整すると、VNCパスワードを変更する事ができます。

FROM selenium/standalone-chrome-debug:3.141.59-20200525
RUN x11vnc -storepasswd [your_password] /home/seluser/.vnc/passwd

※ [your_passoword]の部分は、適当なパスワードに変更してください。

起動して試してみる!

ビルドして

docker build --pull --rm -f "Dockerfile" -t my-selenium "."

コンテナを起動し

docker run -d -p 4444:4444 -p 5900:5900 -v /dev/shm:/dev/shm my-selenium

VNC接続時に先ほど設定したパスワードを指定するとアクセスできます。

ユーザデータの永続かもしたい場合は...

前回記事のユーザデータ永続化も含める場合は、以下のようなコマンドでコンテナを起動してください。

docker run -u root -d -p 4444:4444 -p 5900:5900 -v /dev/shm:/dev/shm -v /_m/.cache/google-chrome:/home/seluser/.cache/google-chrome -v /_m/.config/google-chrome:/home/seluser/.config/google-chrome my-selenium

ユーザデータ永続化の詳細については、以下のページを参照してください。

Docker Composeを使う場合

Docker Composeを使って起動する場合は、以下のような感じのdocker-compose.ymlなります。

version: '3'
services:
  chrome:
    build: .
    user: root
    volumes:
      - /dev/shm:/dev/shm
    ports:
      - "4444:4444"
      - "5900:5900"

ユーザデータを永続化する場合

データの永続化もしたい場合は、以下の通り

version: '3'
services:
  chrome:
    build: .
    user: root
    volumes:
      - /dev/shm:/dev/shm
      - /.config/google-chrome:/home/seluser/.config/google-chrome
    ports:
      - "4444:4444"
      - "5900:5900"

上記のdocker-compose.ymlと先ほどのDockerfileを同じディレクトリにおいてdocker-compose up -dでVNCパスワードが変更されたコンテナが起動します。

まとめ

以上、docker-seleniumでVNCパスワードを変更する方法を、簡単に紹介してみました。

基本的には、以下のようにDockerイメージを調整するだけで、あとはいつものDockerの使い方と変わりません。

FROM selenium/standalone-chrome-debug:3.141.59-20200525
RUN x11vnc -storepasswd [your_password] /home/seluser/.vnc/passwd

ぜひ、一度試してみてください。