不能在docker映像中运行剧作家



我正在尝试创建。net 5.0 docker图像与剧作家。这是我的DockerFile:

FROM mcr.microsoft.com/dotnet/runtime:5.0-buster-slim AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["Agent.csproj", "Agent/"]
RUN dotnet restore "Agent/Agent.csproj"
COPY . "/src/Agent"
WORKDIR "/src/Agent"
RUN apt-get update -yq && apt-get upgrade -yq && apt-get install -yq curl git nano
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -yq nodejs build-essential
RUN npm install -g npm
RUN dotnet add package Microsoft.Playwright
RUN dotnet build "Agent.csproj" -c Release -o /app/build
RUN npx playwright install

但是一旦我在我的图像命令dotnet run Agent中运行,它会给我以下错误:

Executable doesn't exist at /root/.cache/ms-playwright/chromium-907428/chrome-linux/chrome
Please run the following command to download new browsers:              
║                                                                         
║     npx playwright install

即使我的dockerfile包含RUN npx playwright install似乎没有安装它。当我将它从我的dockerfile中删除并在运行图像上手动执行它时,它似乎是可以的。任何想法,我怎么能执行正确的剧作家安装使用dockerfile?

我认为这是Playwright中已知的问题。你可以在这里看到详细的讨论,特别是看到这个评论

我看到的解决方案大部分工作是完全删除node_modules,然后重新安装它,或者在docker图像的情况下,尝试在此链接中提到的解决方案,通过将剧作家浏览器设置为特定路径

尝试添加一个环境变量:PLAYWRIGHT_BROWSERS_PATH="/ms-playwright"希望能帮到你。

我的问题是我已经安装了不同版本的chromium vs剧作家

相关内容

  • 没有找到相关文章

最新更新