Я добился этого:
1)Открытие портов :5037, 5554, 5555 и 5900 (вместо 5037 ).
2)Запуск socat
внутри контейнера на открытых портах, передав IP-адрес контейнера (, вы можете поместить его в файл точки входа или запустить перед другими командами):
(при условии, что IP-адрес 172.23.0.2)
socat tcp-listen:5037,bind=172.23.0.2,fork tcp:127.0.0.1:5037 &
socat tcp-listen:5554,bind=172.23.0.2,fork tcp:127.0.0.1:5554 &
socat tcp-listen:5555,bind=172.23.0.2,fork tcp:127.0.0.1:5555 &
Если вы определяете имя хоста для контейнера (docker run --hostname...
), вы можете использовать имя хоста вместо IP-адреса (, что лучше, потому что IP-адрес может измениться )в команде socat. Например, если имя хоста android-emulator
, вы можете запустить приведенные выше команды как:
socat tcp-listen:5037,bind=android-emulator,fork tcp:127.0.0.1:5037 &
socat tcp-listen:5554,bind=android-emulator,fork tcp:127.0.0.1:5554 &
socat tcp-listen:5555,bind=android-emulator,fork tcp:127.0.0.1:5555 &
3)Добавление IP-адреса док-контейнера для проверки Chrome в Configure...
(, например. :172.23.0.2:5037
, используя здесь ip, потому что он должен быть виден за пределами контейнера ).
Изcurl --help
:
-o, --output Write to file instead of stdout
Так что добавьте -o file.txt
или --output file.txt
к вашей команде
Добавление опции-O
/--remote-name
к вашей команде сохраняет вывод в файл с тем же именем, что и удаленный файл. в вашем текущем рабочем каталоге.
Добавьте --output-dir <dir>
, чтобы указать целевой каталог. Эта опция является относительно новой и была добавлена в версии 7.73.0.