在Docker中运行一个Ubuntu桌面并安装Chrome浏览器

因为有一个浏览器挂机的需求,所以想在服务器上使用docker虚拟化出一个ubuntu系统,并在系统中使用浏览器进行挂机。

查阅了一下资料,已经有人制作出了相关镜像叫ubuntu-xfce-vnc,所以我们直接拿来用即可:
完整的镜像资料见:https://hub.docker.com/r/soff/ubuntu-xfce-vnc

镜像支持3种远程连接方式

1、VNC-Server (default VNC port 5901)
2、RDP-Server (default RDP port 3389)
3、noVNC - HTML5 VNC client (default http port 6901)

选择时只需要将对应的端口映射到本机并公开即可,也就是 -p 参数的配置

我这里使用的是2、RDP的连接方式,也就是使用微软的Microsoft Remote Desktop这个软件进行连接。执行如下命令:

docker run --name xfce -d -p 3389:3389 -e USER_PASSWORD=password soff/ubuntu-xfce-vnc

虚拟的ubuntu桌面就启动了
登陆用户名:user
登陆的密码:password (对应USER_PASSWORD参数)

使用远程连接工具连接即可

接下来是安装chrome浏览器的部分,虽然默认已经自带了chromium,但是版本比较老,索性直接安装最新的chrome浏览器

打开命令行,切换到root账户下

sudo su

进行chrome的下载和安装

apt-get update && apt-get install wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt-get install -y -f ./google-chrome-stable_current_amd64.deb

安装之后会发现打不开chrome,所以还需要继续执行下面2行命令

sed -e '/chrome/ s/^#*/#/' -i /opt/google/chrome/google-chrome
echo 'exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME/.config/chrome" --no-sandbox --disable-dev-shm-usage' >> /opt/google/chrome/google-chrome

ps:命令比较多,可以直接在老的chromium上打开本文地址,然后进行复制粘贴执行,上述3个步骤命令需要分开执行,且一定要在root用户下,否则可能会导致最后安装的chrome打不开

接着在Internet菜单中打开chrome浏览器即可


文章太有用啦👍,打赏个钢镚鼓励鼓励!!