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

发布时间:2021-12-13 11:29:32 作者:iii
来源:亿速云 阅读:214
# 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格式编写,可直接用于文档发布。

推荐阅读:
  1. 使用docker搭建FastDFS文件系统
  2. LEMP平台如何搭建

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

docker

上一篇:数据库中回收站recycle bin怎么用

下一篇:如何进行搭建个人专属或团队共享的私有云同步网盘Nextcloud的分析

相关阅读

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

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