首页 > 解决方案 > 在 Docker 容器内进行 VS Code 开发时启动 GUI 应用程序 (Firefox)

问题描述

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

我已经使用以下方法导出了显示变量dockerfile.json

"containerEnv": {
    "DISPLAY": "${localEnv:DISPLAY}"
}

firefox但是,从容器内的 bash开始时,我仍然收到以下错误:

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

标签: dockerubuntuvisual-studio-codevscode-remote

解决方案


正如在 Docker 中运行桌面应用程序中 所述,除了设置显示变量(取决于主机操作系统不同)之外,还需要启用对 X 服务器的访问(xhosts +在 Linux/Ubuntu 中)。我的设置缺少该权限xhosts +,现在可以使用。


推荐阅读