在 Docker 容器内进行 VS 代码开发时启动 GUI 应用程序 (Firefox)

Launching GUI app (Firefox) when VS Code development inside a Docker container

我正在尝试将使用 selenium 的 python 项目与 Firefox(GUI 版本,非无头)进行 docker 化。目标是提供一个完全 dockerized 的开发环境,在其中可以使用 VS Code support 在 Docker 容器内进行开发。我在 Ubuntu 18.04 主机上使用 ubuntu:18.04 图像。

我已经使用 dockerfile.json:

导出了显示变量
"containerEnv": {
    "DISPLAY": "${localEnv:DISPLAY}"
}

然而,当我从容器内的 bash 启动 firefox 时,我仍然收到以下错误:

root@af414fe6783f:/workspaces/my_project# firefox

(firefox:242): Gtk-WARNING **: 21:59:09.711: Locale not supported by C library.
        Using the fallback 'C' locale.
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0

从控制台内部调用 env 结果:

DISPLAY=:0

运行 中 Docker 中的桌面应用程序所述 除了设置显示变量(因主机而异 OS)之外,还需要启用对 X 服务器的访问(xhosts + in Linux/Ubuntu)。我的设置缺少该权限 xhosts +,现在可以使用了。