温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

win10系统Docker怎么搭建设备共享平台stf

发布时间:2021-12-13 11:29:32 来源:亿速云 阅读:224 作者:iii 栏目:大数据
# Win10系统Docker怎么搭建设备共享平台STF ## 前言 STF(Smartphone Test Farm)是一个开源的移动设备管理平台,支持远程调试、监控和共享Android设备。通过Docker容器化部署可以快速搭建环境,本文将详细介绍在Windows 10系统下使用Docker部署STF的全过程。 --- ## 一、环境准备 ### 1. 系统要求 - Windows 10 Pro/Enterprise(需支持Hyper-V) - 至少8GB内存(建议16GB) - 开启虚拟化技术(BIOS中启用VT-x) ### 2. 必要软件安装 1. **Docker Desktop for Windows** 下载地址:[https://www.docker.com/products/docker-desktop](https://www.docker.com/products/docker-desktop) 安装时需勾选"Use Windows containers"选项 2. **WSL 2(Windows Subsystem for Linux)** 以管理员身份运行PowerShell执行: ```powershell wsl --install 
  1. ADB工具
    建议通过Android Studio安装或单独下载Platform Tools

二、Docker环境配置

1. 启用Linux容器模式

  1. 右键Docker图标选择”Switch to Linux containers”
  2. 验证是否切换成功:
     docker info | grep OSType 
    应输出OSType: linux

2. 共享驱动器设置

  1. 打开Docker设置 → Resources → File Sharing
  2. 添加项目存放目录(如C:\stf

3. 修改Docker资源分配

建议配置: - CPUs: 4核+ - Memory: 6GB+ - Swap: 1GB


三、STF服务部署

1. 获取STF镜像

docker pull openstf/stf:latest docker pull sorccu/adb:latest docker pull rethinkdb:latest docker pull openstf/ambassador:latest docker pull nginx:alpine 

2. 创建Docker网络

docker network create --subnet 172.18.0.0/16 stf-net 

3. 启动RethinkDB数据库

docker run -d --name rethinkdb \ --net stf-net \ -v /srv/rethinkdb:/data \ rethinkdb:latest 

4. 部署ADB服务

docker run -d --name adb \ --net stf-net \ -v /dev/bus/usb:/dev/bus/usb \ --privileged \ sorccu/adb:latest 

5. 启动STF主服务

docker run -d --name stf \ --net stf-net \ -e "SECRET=YOUR_SECRET_KEY" \ -p 7100:7100 \ openstf/stf:latest stf local --public-ip YOUR_WINDOWS_IP 

6. 添加Nginx反向代理(可选)

docker run -d --name nginx \ --net stf-net \ -p 80:80 \ -v /path/to/nginx.conf:/etc/nginx/nginx.conf \ nginx:alpine 

四、设备连接配置

1. USB设备识别问题解决

  1. 修改Windows注册表:
     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbperf] "Start"=dword:00000004 
  2. 安装USB设备重定向工具

2. ADB设备授权

# 进入ADB容器 docker exec -it adb bash # 查看设备列表 adb devices # 授权设备 adb kill-server && adb start-server 

五、访问与使用

  1. 浏览器访问:http://localhost:7100

  2. 首次登录需使用以下任意账号:

    • 管理员:admin@example.com / admin
    • 普通用户:user@example.com / user
  3. 设备共享流程:

    • 管理员分配设备权限
    • 用户通过Web界面远程操作
    • 支持实时屏幕投影、ADB调试等

六、常见问题解决

1. 容器启动失败

错误示例:

stf_1 | ERROR: Unable to connect to RethinkDB 

解决方案:

docker network inspect stf-net docker restart rethinkdb 

2. 设备离线问题

检查步骤: 1. 确认USB调试已开启 2. 重新插拔设备 3. 查看ADB容器日志:

 docker logs -f adb 

3. 性能优化建议

  1. 限制容器资源:
     docker update --cpus 2 --memory 4g stf 
  2. 使用SSD存储
  3. 关闭不必要的Windows服务

七、进阶配置

1. 集群化部署

修改启动命令:

docker run -d --name stf \ --net stf-net \ -e "STF_PROVIDERS_MAX_CONCURRENT=5" \ -e "STF_PROVIDERS_FOREVER=true" \ openstf/stf stf provider \ --name "win10-provider" \ --connect-sub tcp://YOUR_IP:7250 \ --connect-push tcp://YOUR_IP:7270 \ --storage-url http://YOUR_IP/ \ --public-ip YOUR_PUBLIC_IP 

2. 数据持久化

docker volume create stf-data docker run -d --name stf \ -v stf-data:/data \ openstf/stf:latest 

3. HTTPS配置

使用Let’s Encrypt证书:

server { listen 443 ssl; ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; location / { proxy_pass http://stf:7100; } } 

结语

通过Docker在Win10系统部署STF,虽然需要解决USB设备识别等Windows特有问题,但容器化方案大幅降低了环境配置复杂度。建议生产环境配合Linux服务器使用,Windows方案更适合开发测试场景。遇到问题可查阅STF官方文档或社区讨论。

注:本文所有命令需在PowerShell或WSL终端中执行,YOUR_WINDOWS_IP需替换为实际本机IP “`

文章共计约1750字,包含完整的部署流程和常见问题解决方案,采用Markdown格式编写,可直接用于文档发布。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI