鏡を見つける
docker searchコマンドを使用して、appiumイメージを検索します
docker search appium
プルミラー
docker pull appium/appium
画像をプルするときにエラーが発生しましたCould not reach any registry endpoint
。一部の人は、Dockerのバージョンが低すぎることが原因である可能性があると言いました。Centos6がサポートするdockerのバージョンが制限されているため、Centos7に変更してプルを続行しました。CentOS7のインストールDockerをここに突き刺してください-> "Centos7でのDockerのインストール(詳細なインストールチュートリアル)"
別の問題があります。DaoCloudを使用してイメージアクセラレータを構成してappiumをプルするのは本当に遅いバッチです。最後に、Alibaba Cloudイメージアクセラレータを構成します。Alibaba Cloudアクセラレーションを設定するには、ここを突いてください- > 「CentOSにdockerをインストールし、Alibaba Cloudイメージアクセラレータを使用してください」
コンテナーを起動する
appiumコンテナーを開始し、ポートをappium_1という名前で4723にマップします。
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:为容器指定一个名字
コンテナの実行ステータスを表示する
docker ps
jdkをインストールする
Centos7にjdkをインストールしました。インストールされていない場合は、ここを突いてください- > 「Centos7はJDK8と環境設定をインストールします」
adbをインストールする
インストールされていない場合は、ここを突いてください- > "centos7 install adb"
シミュレーター設定
接続方法を変更
Night GodモードのUSB接続方法を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
橋を変える
システム設定->プロパティ設定->ネットワーク設定を開き、オープンネットワークブリッジモードを確認します。次に、プラグインをインストールする必要があります。インストール後、静的IPを選択します。これは、エミュレーターがWindowsシステム、Windowsシステムにインストールされているためです。 ipは192.168.0.101です。ここでは192.168.0.126に設定し、ゲートウェイ192.168.0.1を設定し、[設定を保存]をクリックして、シミュレータを再起動します
再起動後、WLANをオフにし、再度オンにし、設定をクリックして、IPアドレスを確認します。IPが192.168.0.102になることがわかります
ドッカー接続エミュレータ
docker exec -it appium_1 adb connect 192.168.0.102:6666
# docker exec:在运行的容器中执行命令
# -i:即使没有附加也保持STDIN打开
# -t:分配一个伪终端
接続が成功したことを示す、192.168.0.102:6666への接続を参照
参考記事
"" Docker戦闘記事 "python docker-create appium container and set appium container connection Android emulator(31)"
"Docker:Docker Appium mirror connection night Android god emulator、and handle connection refused exception"
"Docker exec command"