Docker
Введение
Dockerfile.noble можно использовать для запуска скриптов Playwright в контейнере Docker. Этот образ включает браузеры Playwright и системные зависимости браузеров. Пакет/зависимость Playwright в образ не включены и должны быть установлены отдельно.
Использование
Этот образ Docker опубликован в Microsoft Artifact Registry.
информацияЭтот образ Docker предназначен только для целей тестирования и разработки. Не рекомендуется использовать этот образ Docker для посещения ненадежных веб-сайтов.
Получение образа
docker pull mcr.microsoft.com/playwright:v1.49.0-noble
Запуск образа
По умолчанию, образ Docker будет использовать пользователя root для запуска браузеров. Это отключит песочницу Chromium, которая недоступна с правами root. Если вы запускаете доверенный код (например, тесты E2E) и хотите избежать проблем с управлением отдельным пользователем, то пользователь root может подойти. Для веб-скрейпинга или сканирования рекомендуется создать отдельного пользователя внутри контейнера Docker и использовать профиль seccomp.
Тесты E2E
На доверенных веб-сайтах вы можете избежать создания отдельного пользователя и использовать root, так как вы доверяете коду, который будет выполняться в браузерах.
docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.49.0-noble /bin/bash
Сканирование и скрейпинг
На ненадежных веб-сайтах рекомендуется использовать отдельного пользователя для запуска браузеров в сочетании с профилем seccomp. Внутри контейнера или если вы используете образ Docker в качестве базового образа, вам нужно использовать adduser для этого.
docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright:v1.49.0-noble /bin/bash
seccomp_profile.json необходим для запуска Chromium с песочницей. Это стандартный профиль seccomp Docker с дополнительными разрешениями на клонирование пространства имен пользователя:
{
"comment": "Allow create user namespaces",
"names": [
"clone",
"setns",
"unshare"
],
"action": "SCMP_ACT_ALLOW",
"args": [],
"includes": {},
"excludes": {}
} примечаниеИспользование
--ipc=hostрекомендуется при использовании Chrome (документация Docker). Chrome может испытывать проблемы с памятью без этого флага.
Использование в CI
Обратитесь к нашим руководствам по непрерывной интеграции для примеров конфигураций.
Теги образов
См. все доступные теги образов.
В настоящее время мы публикуем образы со следующими тегами:
-
:v1.49.0- Образ Docker релизной версии Playwright v1.49.0, основанный на Ubuntu 24.04 LTS (Noble Numbat). -
:v1.49.0-noble- Образ Docker релизной версии Playwright v1.49.0, основанный на Ubuntu 24.04 LTS (Noble Numbat). -
:v1.49.0-jammy- Образ Docker релизной версии Playwright v1.49.0, основанный на Ubuntu 22.04 LTS (Jammy Jellyfish).
примечаниеРекомендуется всегда указывать конкретную версию образа Docker, если это возможно. Если версия Playwright в вашем образе Docker не совпадает с версией в вашем проекте/тестах, Playwright не сможет найти исполняемые файлы браузеров.
Базовые образы
В настоящее время мы публикуем образы, основанные на следующих версиях Ubuntu:
-
Ubuntu 24.04 LTS (Noble Numbat), теги образов включают
noble -
Ubuntu 22.04 LTS (Jammy Jellyfish), теги образов включают
jammy
Alpine
Сборка браузеров Firefox и WebKit выполняется для библиотеки glibc. Alpine Linux и другие дистрибутивы, основанные на стандартной библиотеке musl, не поддерживаются.
Создание собственного образа
Для запуска Playwright внутри Docker необходимо установить Node.js, браузеры Playwright и системные зависимости браузеров. Обратитесь к следующему Dockerfile:
FROM node:20-bookworm RUN npx -y playwright@1.49.0 install --with-deps
© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/docker