seleniumをDockerで動かすとき 通常はここに従ってこのようなdocker-compose.ymlを書くのですが
version: '2' services: hub: container_name: "hub" image: selenium/hub ports: - '4444:4444' chrome: container_name: "selenium_chrome" image: selenium/node-chrome-debug #イメージをそのまま使う environment: - HUB_PORT_4444_TCP_ADDR=hub - HUB_PORT_4444_TCP_PORT=4444 depends_on: - hub ports: - '5900:5900'
イメージをそのまま使うのではなくてDockerfileから日本語を設定する処理を追記して
FROM selenium/node-chrome-debug LABEL authors=SeleniumHQ USER root #================= # Locale settings #================= ENV LANGUAGE ja_JP.UTF-8 ENV LANG ja_JP.UTF-8 RUN locale-gen ja_JP.UTF-8 \ && dpkg-reconfigure --frontend noninteractive locales \ && apt-get update -qqy \ && apt-get -qqy --no-install-recommends install \ language-pack-ja \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* USER seluser EXPOSE 5900
このdockerfileを呼び出すようにすると
version: '2' services: hub: container_name: "hub" image: selenium/hub ports: - '4444:4444' chrome: container_name: "selenium_chrome" build: ./ #同階層のdockerfileを読み込む environment: - HUB_PORT_4444_TCP_ADDR=hub - HUB_PORT_4444_TCP_PORT=4444 depends_on: - hub ports: - '5900:5900'
日本語でchromeを使ったスクレイピングができるようになります