Android虚拟化常用命令-高通

一、环境和情景

高通安卓卡 ,Android虚Android

二、相关命令

(1)、推送容器镜像到卡里面,并加载容器镜像
adb push android-latest.img  /data/local/android-latest.img
docker load -i /data/local/android-latest.img //加载镜像

(2)、查看镜像
docker images

(3)、创建网络模式
macvlan:
docker network create -d macvlan --subnet=192.168.11.0/24 --gateway=192.168.11.1 -o  macvlan_mode=bridge -o parent=eth0  macvlan && setprop persist.network.mode macvlan

ipvlan:
docker network create -d ipvlan --subnet=192.168.11.0/24 --gateway=192.168.11.1 -o  ipvlan_mode=l2 -o parent=eth0 ipvlan && setprop persist.network.mode ipvlan

桥接网络模式:
docker network create --subnet=192.168.11.0/24 bnet 

(4)、查看网络模式
docker network ls

(5)、删除网络模式
docker network rm netWorkName
例:docker network rm ipvlan

(6)、创建容器(macvlan模式)
注意:这里容器ip要和网络模式的网段一样,不然会出现容器网络不通情况
例如:网络模式ip:192.168.11.0 说明是11网段
     则容器的ip应该为:192.168.11.xxx

con_ip=192.168.11.10/24 con_gateway=192.168.11.1 con_dns1=114.114.114.114 con_dns2=8.8.8.8 con_storage=40960 docker container create -h aaaa --name aaaa --cpuset-cpus 0-7 --mac-address=f0:d7:af:c3:a0:66 -m 8G --platform linux/amd64 --restart=always --network macvlan -v /data/local/lxc_instance1:/data android:latest instance1

创建容器固定ip(macvlan):
con_ip=192.168.11.126/24 con_gateway=192.168.11.1 con_dns1=114.114.114.114 con_dns2=8.8.8.8 con_storage=40960 docker container create -h aaaa --name aaaa --cpuset-cpus 0-7 --mac-address=f0:d7:af:c3:a0:66 -m 8G --ip=192.168.11.126 --platform linux/amd64 --restart=always --network macvlan -v /data/local/lxc_instance1:/data android:latest instance1
con_ip=192.168.11.128/24 con_gateway=192.168.11.1 con_dns1=114.114.114.114 con_dns2=8.8.8.8 con_storage=40960 docker container create -h bbbb --name bbbb --cpuset-cpus 0-7 --mac-address=f0:d7:af:c3:a0:67 -m 8G --ip=192.168.11.128 --platform linux/amd64 --restart=always --network macvlan -v /data/local/lxc_instance2:/data android:latest instance2

创建容器固定ip(ipvlan)
con_ip=192.168.11.126/24 con_gateway=192.168.11.1 con_dns1=114.114.114.114 con_dns2=8.8.8.8 con_storage=40960 docker container create -h aaaa --name aaaa --cpuset-cpus 0-7 -m 8G --ip=192.168.11.126 --platform linux/amd64 --restart=always --network  ipvlan -v /data/local/lxc_instance1:/data android:latest instance1

创建容器固定ip(桥接网络)
注意:这里的bnet和步骤3创建的桥接网络名要对应上
con_ip=192.168.11.126/24 con_gateway=192.168.11.1 con_dns1=114.114.114.114 con_dns2=8.8.8.8 con_storage=40960 docker container create -h aaaa --name aaaa --cpuset-cpus 0-7 --mac-address=f0:d7:af:c3:a0:66 -m 8G --ip=192.168.11.126 --platform linux/amd64 --restart=always --network  bnet -v /data/local/lxc_instance1:/data android:latest instance1


(7)、查看已创建的容器
docker ps -a

(8)、启动容器
docker start 容器name

(9)、重启容器
docker restart 容器name

(10)、停止容器
docker stop 容器name


(11)、查看容器IP
docker ips

(12)、删除容器
docker rmi -f 容器name

(13)、删除容器镜像
docker rmi IMAGE ID

(14)、进入一个正在运行的容器
docker exec -it <容器ID/NAME> sh

(15)、docker杀死一个容器
docker kill [容器名或ID]

(16)、docker列出最近一次启动过的容器 
docker ps -l 

(17)、容器应用操作相关
卸载应用:docker exec -it [容器名称] pm uninstall [应用包名]
启动应用:docker exec -it [容器名称] am start [应用包名]
停止应用:docker exec -it [容器名称] am force-stop [应用包名]
启用应用:docker exec -it [容器名称] pm enable [应用包名]
禁用应用:docker exec -it [容器名称] pm disable-user [应用包名]

(18)、显示容器资源使用统计
docker stats
(19)、根据容器名获取容器instance
docker ps -a | grep containerName | awk '{print $4}'|tr -d '\\\"'

(20)、获取当前所有的instance
docker ps -a --format "{{.Command}}"|grep -v "COMMAND"|awk '{print $2}' |tr -d '\"'

(21)、查看容器ip
docker ips

(22)、查看网络模式网段和网关
docker network inspect id/name

(23)、创建tcp、udp映射端口
iptables -A DOCKER ! -i bnet -o bnet -p tcp --dport 7777 -d 192.168.11.126  -j ACCEPT
iptables -t nat -A DOCKER ! -i bnet -p tcp --dport 6677 -j DNAT --to-destination 192.168.11.126:7777


iptables -A DOCKER ! -i bnet -o bnet -p udp --dport 6666 -d 192.168.11.126 -j ACCEPT
iptables -t nat -A DOCKER ! -i bnet -p udp --dport 8001 -j DNAT --to-destination 192.168.11.126:6666

(24)、删除tcp、udp映射端口
iptables -D DOCKER ! -i bnet -o bnet -p tcp --dport 7777 -d 192.168.0.2 -j ACCEPT
iptables -t nat -D DOCKER ! -i bnet -p tcp --dport 6677 -j DNAT --to-destination 192.168.0.2:7777


iptables -D DOCKER ! -i bnet -o bnet -p udp --dport 6666 -d 192.168.0.2 -j ACCEPT
iptables -t nat -D DOCKER ! -i bnet -p udp --dport 8001 -j DNAT --to-destination 192.168.0.2:6666

(25)、查询映射端口
iptables -t nat -vnL

(26)、保存映射的端口
iptables-save > /data/iptables.rules
注:路径可以自己定义

(27)、恢复映射的端口
重启后,映射的端口会丢失,需要重启前save,重启后restore
iptables -F
iptables-restore /data/iptables.rules


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

粤M温同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值