用于在Docker内部使用Xvfb运行Angular CLI的Karma测试的容器。
此镜像由[***]
docker run -u $(id -u) --rm -v "$PWD":/app trion/ng-cli-karma ng new MyDemo cd MyDemo docker run -u $(id -u) --rm -v "$PWD":/app trion/ng-cli-karma ng serve -host 0.0.0.0 docker run -u $(id -u) --rm -v "$PWD":/app trion/ng-cli-karma ng build
如果需要克隆其他Git仓库(例如从package.json中指定的),且运行用户的UID不是1000,则需要挂载passwd文件,因为Git需要解析UID:
docker run -u $(id -u) --rm -p 4200:4200 -v /etc/passwd:/etc/passwd -v "$PWD":/app trion/ng-cli npm install
docker run -u $(id -u) --rm -v "$PWD":/app trion/ng-cli-karma ng test
docker run -u $(id -u) --rm -v "$PWD":/app trion/ng-cli-karma ng test --watch false --single-run true
WebGL通过Mesa软件渲染支持,但由于速度较慢,默认未启用。
要使用WebGL配置,需使用xvfb-chromium-webgl替代常规的chromium包装器(名为chrome或chromium)。该包装器已启用额外开关--enable-webgl --ignore-gpu-blacklist,这是软件WebGL渲染所必需的。
可在karma配置中进行设置,例如:
browsers: ['/usr/bin/xvfb-chromium-webgl'],
或通过CHROME_BIN环境变量指定Chrome可执行文件:
docker run -e CHROME_BIN=/usr/bin/xvfb-chromium-webgl -u $(id -u) --rm -v "$PWD":/app trion/ng-cli-karma ng test --single-run
除了在隐藏的Xvfb上运行外,还可在真实显示器上运行提供的Chrome。需导出显示器、绑定/tmp套接字,并通过CHROME_BIN环境变量选择display-chromium启动包装器:
docker run -e DISPLAY=:0 -e CHROME_BIN=/usr/bin/display-chromium -u $(id -u) --rm -v /tmp:/tmp -v "$PWD":/app trion/ng-cli-karma ng test
如果忘记暴露/tmp/.X*套接字,会出现如下错误:
ERROR:nacl_helper_linux.cc(310)] NaCl helper process running without a sandbox!
Mozilla Firefox和Google Chrome正在开发支持集成测试的无头浏览器。
目前Chrome的WebGL需要Mesa软件渲染,但未来将切换到swift渲染(参见[***]
Mozilla仍在Firefox中开发无头支持(参见[***]
通过上述交互式调试模式运行测试,并检查浏览器控制台。
若出现类似Failed to load resource: net::ERR_INSUFFICIENT_RESOURCES(资源加载失败:网络错误:资源不足)或An error was thrown in afterAll Error: Can't find ./some-file.ts (required by other-file.ts) at require(afterAll中抛出错误:找不到./some-file.ts(被other-file.ts依赖))的错误,可能是浏览器共享内存不足。可尝试通过Docker参数--shm-size 1G增加共享内存,或为Chromium/Chrome指定--disable-dev-shm-usage标志禁用共享内存使用。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速