暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解决Docker容器内安装chrome浏览器无法启动bug

1861


前言

  • 之前有写过一个基于Ubuntu20.04
     的Docker容器的可视化Dockerfile
    ,当时默认火狐浏览器,今天要测试一个项目就run了一个可视化容器,但是我需要用到chrome浏览器,于是乎开始安装,按照正常安装方法安装好后发现无法运行,报错ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
    ,本次测试run的容器未加特权模式,root下不使用—no-sandbox,到这里可能到家就知道是什么问题了,那么接下来开始debug。

安装chrome浏览器全过程

1.下载chrome安装包
  • 32位系统安装包:wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb

  • 64位系统安装包:wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

2.开始安装
  • 32位系统安装命令:dpkg -i google-chrome-stable_current_i386.deb

  • 64位系统安装命令:dpkg -i google-chrome-stable_current_amd64.deb

3.不出意外的话直接安装可能会缺少依赖报错,解决办法:
  • 执行以下命令即可直接安装:

    • apt-get update && apt-get install -f ./google-chrome-stable_current_amd64.deb

  • 可能会有以下提示:

    • N: 由于文件'/root/google-chrome-stable_current_amd64.deb'无法被用户'_apt'访问,已脱离沙盒并提权为根用户来进行下载。- pkgAcquire::Run (13: 权限不够)

    • 如出现以上提示直接忽略即可

4.更改/usr/bin/google-chrome-stable
文件配置
  • 打开google-chrome-stable
    文件

    • vim /usr/bin/google-chrome-stable

  • 找到exec -a "$0" "$HERE/chrome" "$@"
     这一行(不出意外应该在最后一行)

    • exec -a "$0" "$HERE/chrome" "$@"
      末尾追加--user-data-dir --no-sandbox
      参数即可

结语

  • 以上就是docker容器内安装chrome浏览器全过程,希望能帮到一些小伙伴。

  • 如操作有问题欢迎去我的博客留言或者微信公众号留言哦。

文章转载自Python技术交流圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论