Spec-Zone.ru › Playwright

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API