至于docker无法拉取镜像?往期文章有写过方法,自行翻看,这里不再赘述。
sudo apt install cpu-checkersudo kvm-ok
INFO: /dev/kvm existsKVM acceleration can be used
二、部署docker-android
docker run -d \
-p 6080:6080 \
#映射6080端口,web vnc需要这个端口
EMULATOR_DEVICE=Samsung\ Galaxy\ S10 \
#模拟的手机型号
WEB_VNC=true \
#启用web vnc
EMULATOR_ADDITIONAL_ARGS=-cores\ 6\ -memory\ 5120 \
#配置性能,cores后面跟cpu核心,memory后面是内存大小
#这里的意思是6核5120m内存
#注意,这里配置一定要给够,不然会很卡
EMULATOR_DATA_PARTITION=9000m \
#分配9000m的存储空间
/home/androidusr \ :
#数据持久化,data更换为本地目录
/dev/kvm \
#添加调用kvm
--name docker-android \
#docker名称,这里随意
always \
#重启策略
:emulator_11.0
#拉取的镜像以及安卓版本,也可以加上自己的docker拉取地址
version: '3.8'
services:
android-emulator:
image: budtmo/docker-android:emulator_11.0
#拉取的镜像以及安卓版本,也可以加上自己的docker拉取地址
container_name: docker-android
#docker名称,这里随意
ports:
- "6080:6080"
#映射6080端口,web vnc需要这个端口
environment:
- EMULATOR_DEVICE=Samsung\ Galaxy\ S10
#模拟的手机型号
- WEB_VNC=true
#启用web vnc
- EMULATOR_ADDITIONAL_ARGS=-cores\ 6\ -memory\ 5120
#配置性能,cores后面跟cpu核心,memory后面是内存大小
#这里的意思是6核5120m内存
#注意,这里配置一定要给够,不然会很卡
- EMULATOR_DATA_PARTITION=9000m
#分配9000m的存储空间
volumes:
- /data:/home/androidusr
#数据持久化,data更换为本地目录
devices:
- /dev/kvm
#添加调用kvm
restart: always
#重启策略
顺便说一下,上面的命令里面有童鞋会感到奇怪,为什么EMULATOR_ADDITIONAL_ARGS值后面要用反斜杠分开,而不是直接加引号,,,,这个我试过用引号,然后莫名其妙就导致了配置不生效,所以为了以防万一,全部都改成了反斜杠的形式。
至于想要公网访问,把端口放行就可以了,这就很简单了,不会就百度吧。
2.如果是嵌套虚拟化的情况下,性能会受限,这个其实不算问题,因为嵌套虚拟化一定会导致性能损失,建议物理机或者nas直接部署。
来源:憨憨的小木屋