Blog

Chromium の GUI を docker コンテナ内で実行する

May 17, 2020

前は Firefox でやりましたが、Chromium はサンドボックスがあったりして 前のままのコマンドでは動いていませんでした。

以下のコマンドで動きました。といっても --privileged を追加しただけですが。 --privileged なしでも --no-sandbox をつけて chromium を起動すれば 一応ウィンドウまでは出るのですが、グラフィックドライバがうまく 読み込まれずに真っ白のままになってしまうという問題がありました。

sudo docker run --rm \
  -v /tmp/.X11-unix \
  -v ~/.Xauthority:/home/user/.Xauthority \
  -e DISPLAY \
  -e XAUTHORITY=/home/user/.Xauthority \
  --net host \
  --privileged \
  archlinux \
  sh -c 'pacman -Syu --noconfirm chromium; useradd user; chown user:user /home/user; su user chromium'

もう少し --cap-add などで Capability を絞ってもいけそうですね。

Firefox に比べれば安定しているかなという印象ですが、やはり YouTube などを FullHD で視聴しようとするとタブがクラッシュしてしまうので、 実用には厳しいかなという印象でした。

わざわざ Docker 内で起動しなくても、psd なんかで毎回リセットするように してあげればほぼ同じことが実現できるんですけどね……。