Encontrar espelho
Use o comando docker search para pesquisar a imagem do appium
docker search appium
Puxar espelho
docker pull appium/appium
Ao puxar a imagem, encontrei um erro Could not reach any registry endpoint
. Algumas pessoas disseram que isso pode ser causado pela versão do docker ser muito baixa. Devido à versão limitada do docker suportada pelo Centos6, mudei para Centos7 e continuei a puxar. Docker de instalação do CentOS7, clique aqui-> "Instalando o Docker no Centos7 (tutorial de instalação detalhado)"
Há outro problema. Usar o DaoCloud para configurar o acelerador de imagem para puxar appium é realmente um lote lento. Finalmente, o acelerador de imagem do Alibaba Cloud está configurado. Para configurar a aceleração do Alibaba Cloud, clique aqui- > "Instale a janela de encaixe no CentOS e use o acelerador de imagem do Alibaba Cloud"
Iniciar o contêiner
Inicie o contêiner appium e mapeie a porta para 4723 com o nome appium_1
docker run --privileged -d -p 4723:4723 --name appium_1 appium/appium
# --privileged:使用该参数,容器内的root拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限
# -d:以分离模式启动容器,分离模式指的是在后台运行,而前景模式指的是在前台运行。默认分离模式设置为False
# -p:指定要映射的ip和端口。支持的格式有:hostPort:containerPort,ip:hostPort:containerPort,ip::containerPort。这里用的是第一种:4723:4723,指的是将本地(centos7)的5000端口映射到容器的5000端口
# --name:为容器指定一个名字
Exibir o status de execução do contêiner
docker ps
Instale o jdk
Eu instalei o jdk no Centos7, se não estiver instalado, clique aqui- > "O Centos7 instala o JDK8 e a configuração do ambiente"
Instalar adb
Se não estiver instalado, clique aqui- > "centos7 install adb"
Configurações do simulador
Alterar método de conexão
Mude o método de conexão usb do modo deus noturno para tcpip
C:\Users\beck
λ adb devices
List of devices attached
127.0.0.1:62025 device
C:\Users\beck
λ adb -s 127.0.0.1:62025 tcpip 6666
restarting in TCP mode port: 6666
Alterar ponte
Abra as configurações do sistema -> configurações da propriedade -> configurações da rede, marque para abrir o modo de ponte de rede e, em seguida, você precisará instalar um plug-in, após a instalação, selecione o IP estático, porque meu emulador está instalado no sistema Windows ip é 192.168.0.101, aqui defino 192.168.0.126, defina o gateway 192.168.0.1, clique em salvar configurações, reinicie o simulador
Após reiniciar, desligue a WLAN, ligue-a novamente, clique em configurações, verifique o endereço IP, você pode ver o IP se torna 192.168.0.102
emulador de conexão docker
docker exec -it appium_1 adb connect 192.168.0.102:6666
# docker exec:在运行的容器中执行命令
# -i:即使没有附加也保持STDIN打开
# -t:分配一个伪终端
Consulte conectado a 192.168.0.102:6666, indicando que a conexão foi bem-sucedida
Artigo de referência
"" Artigo de combate do Docker "python docker - crie um container de appium e defina a conexão do container de appium emulador Android (31)"
"Docker: Docker Appium conexão de espelho noite simulador de deus Android e lida com exceção de conexão recusada"
"Comando exec do Docker