docker - 在 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
解决方案
正如在 Docker 中运行桌面应用程序中
所述,除了设置显示变量(取决于主机操作系统不同)之外,还需要启用对 X 服务器的访问(xhosts +
在 Linux/Ubuntu 中)。我的设置缺少该权限xhosts +
,现在可以使用。
推荐阅读
- python - 高/低卡号猜谜游戏
- python - 为什么塔利布在这里生产“南”?
- kubernetes - kubeadm join和kubernetes api节点创建有什么区别
- visual-studio - 为什么会出现错误“FS0239 已给出文件或模块的实现”?
- r - 添加标题并从 wordcloud2 中删除空格
- c++ - 在 OpenGL 中加载 JPG 时出现白屏
- sql - 使用触发器转换数据
- ios - 错误:在框架模块“UMPermissionsInterface.UMPermissionsInterface”中包含非模块化标头:
- c# - 启动 selenium 时出错:无法启动驱动程序服务
- java - Java Generic Type - 不能使用泛型类型作为参数