Готовый образ под M1 selenoid dumbdumbych/selenium_vnc_chrome_arm64:91.0.b
- Скачиваем рабочий образ под m1
docker pull dumbdumbych/selenium_vnc_chrome_arm64:91.0.b
- Создаем в папке config файл browsers.json со следующим содержимым
{
"chrome": {
"default": "chrome",
"versions": {
"91.0": {
"image": "dumbdumbych/selenium_vnc_chrome_arm64:91.0.b",
"port": "4444",
"path": "/",
"privileged": true
}
}
}
}
- В директории где находится папка config запускаем docker с образом selenoid
docker run -d \
--name selenoid \
-p 4444:4444 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v `pwd`/config/:/etc/selenoid/:ro \
--privileged \
aerokube/selenoid:latest-release \
-service-startup-timeout 1m
- Проверяем что по адресу localhost:4444 запускается selenoid и пишется статус:
You are using Selenoid 1.10.4!
- Скачиваем и запускаем selenoid-ui
docker run -d \
--name selenoid-ui \
--link selenoid \
-p 8080:8080 \
aerokube/selenoid-ui --selenoid-uri=http://selenoid:4444
- Переходим на localhost:8080 и проверяем что SSE и SELENOID находятся в статусе connected
Как собрать билд самому:
Подготавливаем среду для сборки:
Собираем базовый образ:
У меня базовый образ собирается долго, до 20 минут.
Собираем образ с хромом:
cd /opt/arm64/images/static/chrome
Сначала надо скачать chromedriver. Я не уверен, что это обязательно, но наверное лучше чтобы версия хромиума и chromedriver совпадали. Поэтому заглядываем на страничку репозитория с хромиумом:
https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-beta/+packages
и смотрим текущую версию chromium-browser. На момент написания инструкции она была 91.
Линки на разные версии хромдрайвера доступны здесь: https://stackoverflow.com/questions/38732822/compile-chromedriver-on-arm
Скачиваем хромдрайвер 91-й версии: wget https://github.com/electron/electron/releases/download/v13.0.1/chromedriver-v13.0.1-linux-arm64.zip
Распаковываем из архива chromedriver:
unzip ./chromedriver-v13.0.1-linux-arm64.zip chromedriver
Кладем в эту же папку (/opt/arm64/images/static/chrome) файлы chromium.pref, saiarcot895-ubuntu-chromium-beta-groovy.list и Dockerfile.chrome
В Dockerfile.chrome в 12-й строке указывается имя базового образа, который мы только что собрали. Туда нужно подставить свои данные
${hub.docker.com account}/${image name and version}
из сборки базового образаЗапускаем сборку:
docker buildx build --progress=plain --platform linux/arm64 --file ./Dockerfile.chrome --tag ${hub.docker.com account}/selenium_vnc_chrome_arm64:91.0.a -o type=docker .