Что нового

Запускаем dolphin anty внутри docker

ckpunmkug

Посетитель
Регистрация
22 Мар 2026
Сообщения
7
Реакции
1
Очень не доверяю прогам которые не из репозитория. А ещё не люблю когда прога тащит туеву хучу зависимостей. Но тут подвернулась необходимость освоить docker и я в начале хотел в нём собрать лампу, но это оказалось ещё тем гемором, выяснилось что docker не приспособлен для нормального запуска служб. По этому я зашел с другого бока поставил внутрь Antidetect Browser Dolphin и может быть потом поставлю Puppeteer.

Загружаем образ
Код:
docker pull debian

Переименовываем образ
Код:
docker tag debian:latest debian:browser
Код:
docker rmi debian:latest

Смотрим список образов
Код:
docker images

Терминал 1

Запускаем контейнер
Код:
docker run --rm -it --name current debian:browser bash

Устанавливаем необходимое
Код:
apt update; apt upgrade -y
Код:
apt install -y apt-utils whiptail net-tools dbus dbus-user-session chromium uwsc xvfb

Терминал 2

Копируем браузер
Код:
docker cp /home/user/Downloads/dolphin-anty-linux-amd64-latest.deb current:/root/

Терминал 1

Инсталируем dolphin-anty
Код:
cd /root
Код:
dpkg -i dolphin-anty-linux-amd64-latest.deb
Код:
apt --fix-broken install

Запускаем DBus
Код:
mkdir -p /run/dbus
Код:
dbus-daemon --system --fork

Переключаемся в обычного пользователя
Код:
mkdir /var/www
Код:
chown www-data:www-data /var/www
Код:
su -P -s /bin/sh -l www-data -c bash

Запускаем браузер
Код:
export DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --session --fork --print-address`
Код:
xvfb-run -a /usr/bin/dolphin_anty --headless --no-sandbox --disable-setuid-sandbox --disable-features=UseDBus --disable-gpu --remote-debugging-port=9222 2>&1 | grep 'DevTools listening on'

Терминал 2

Заходим в докер
Код:
docker exec -it current bash

Проверяем наличие отладки
Код:
netstat -antup | grep 9222

Переключаемся в обычного пользователя
Код:
su -P -s /bin/sh -l www-data -c bash

Подсоединяемся
Код:
uwsc ws://127.0.0.1:9222/devtools/browser/a2a56e08-6300-4842-a00a-e1fa5d7bb474

Проверяем соединение
Код:
{"id":1,"method":"Browser.getVersion","params":{}}

Выходим из websocket
Код:
q!

Выходим из www-data
Код:
exit

Выходим из докера
Код:
exit

Терминал 1

Выключаем браузер
Код:
Ctrl+C

Выходим из www-data
Код:
Ctrl+D

Терминал 2

Фиксируем образ
Код:
docker ps
Код:
docker commit 2aac0081b978 debian:browser

Терминал 1

Выходим из докера
Код:
exit

Сохраняем образ
Код:
docker save -o ./debian_browser.tar debian:browser

Удаляем образы
Код:
docker images
Код:
docker rmi 140d643fa239
Код:
docker rmi 5ebdc6318df1

Очищаем докер
Код:
docker system prune -a -f

Зугружаем образ
Код:
docker load -i ./debian_browser.tar

Терминал 1

Запускаем докер
Код:
docker run --rm -it --name current debian:browser bash

Запускаем DBus
Код:
rm -f /run/dbus/pid ; dbus-daemon --system --fork

Переключаемся в обычного пользователя
Код:
su -P -s /bin/sh -l www-data -c bash

Запускаем браузер
Код:
export DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --session --fork --print-address`
Код:
xvfb-run -a /usr/bin/dolphin_anty --headless --no-sandbox --disable-setuid-sandbox --disable-features=UseDBus --disable-gpu --remote-debugging-port=9222 2>&1 | grep 'DevTools listening on'

Терминал 2

Заходим в докер
Код:
docker exec -it current bash

Проверяем наличие отладки
Код:
netstat -antup | grep 9222

Переключаемся в обычного пользователя
Код:
su -P -s /bin/sh -l www-data -c bash

Подсоединяемся
Код:
uwsc ws://127.0.0.1:9222/devtools/browser/1ec81fd3-7612-4c30-bce2-16063828ff7a

Проверяем соединение
Код:
{"id":1,"method":"Browser.getVersion","params":{}}

Выходим
Код:
!q
Код:
exit
Код:
exit

Терминал 1
Код:
Ctrl+C
Код:
Ctrl+D
Код:
Ctrl+D
 
Верх