Docker內Chrome中文亂碼的解決方案以及部署360奇安信失敗案例
背景
搞了一個清明假期, 把chrome安裝上去了
可以實現簡單的的版本確認
然後想著搞一下國產化的瀏覽器
突然發現國產化的瀏覽器的坑是無與倫比的深.
記錄一下過程.
下載
https://www.qianxin.com/ctp/gmbrowser.html
下載: 下載信創X86版(Deb包)
https://browser.360.net/gc/index.html
下載 360安全瀏覽器 deb 包
https://registry.npmmirror.com/binary.html?path=chromedriver/102.0.5005.27/
下載 102版本的chromedriver
需要可以打包為僅有二進位制的模式
dockerfile
FROM ubuntu:24.04
RUN apt update -y
RUN apt install -y systemd
RUN apt-get install -y dbus
RUN dbus-daemon --system
COPY qaxbrowser-safe-stable_1.0.45398.7-1_amd64.deb /root
RUN apt-get install /root/qaxbrowser-safe-stable_1.0.45398.7-1_amd64.deb -y
坑爹的來了
奇安信安裝會報錯, 提示依賴:xdg-icon-resource
沒搞定. baidu google 出來的意義都很小.
360 可以成功安裝上, 坑爹的是:
檢視版本出來的事 360的版本
我TM要用 chromedriver 360的版本沒鳥用
然後突然想用 headless的方式檢視一下具體頁面.
結果又被坑了一把
渲染頁面
/opt/apps/com.360.browser-stable/files/com.360.browser --headless --disable-gpu --no-sandbox --screenshot=/version.jpg --window-size=1920,1080 se://version
失敗..
失敗其實分了三層:
第一層: 360 直接報錯提升:
ERROR:se_device_id_linux.cc(734)] No mother board serial no. detected
懷疑是360自己的序列號相關的程式. 國產軟體還沒做好就總想收費. 失望.
第二層: 直接亂碼了. 我艙室了下百度都變成了 中文都變成框框
第三層: chrome://version 無法渲染, 幹. 路沒一條通的
解決亂碼
apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy
可以再docker file 裡面新增進去
因為我的很多還沒有新增python, 我感覺可以一起新增一下就可以了.
跟 locale 沒關係, 百度出來的很多都是糊弄人的.
悲傷的故事 再次浪費 2h