在 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 +
,现在可以使用了。
我正在尝试将使用 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 +
,现在可以使用了。