Так что у меня недавно была такая же проблема.
TL; DR;Вы должны установить chrome в образ докера, поместив команды в файл Docker.
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch
# Install Chrome
RUN apt-get update && apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
hicolor-icon-theme \
libcanberra-gtk* \
libgl1-mesa-dri \
libgl1-mesa-glx \
libpango1.0-0 \
libpulse0 \
libv4l-0 \
fonts-symbola \
--no-install-recommends \
&& curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list \
&& apt-get update && apt-get install -y \
google-chrome-stable \
--no-install-recommends \
&& apt-get purge --auto-remove -y curl \
&& rm -rf /var/lib/apt/lists/*
# Add your dotnet core project build stuff here
Более простое решение - я выдвинул это как образ докера в моем репозитории Docker Hub, чтобы выможете использовать его в качестве базового изображения.Посмотрите на этот пример моего ядра dotnet 2.2
FROM masteroleary/selenium-dotnetcore2.2-linux:v2 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM masteroleary/selenium-dotnetcore2.2-linux:v2 AS build WORKDIR /src
COPY ["MyProject.csproj", ""]
RUN dotnet restore "MyProject.csproj"
COPY . .
WORKDIR "/src/"
RUN dotnet build "MyProject.csproj" -c Prod -o /app
FROM build AS publish
RUN dotnet publish "MyProject.csproj" -c Prod -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "MyProject.dll"]
Как это произошло?
В основном создал новый проект в Visual Studio для dotnet core 2.2 mvcс поддержкой докеров.
Намерения запустить мое основное приложение dotnet в контейнере Linux
Предполагается, что при установке пакетов nuget Selenium.Support, Selenium.WebDriver, Selenium.WebDriver.ChromeDriver все, что мне нужнобудет включен в контейнер докера автоматически, поскольку Selenium.WebDriver поддерживает .NetStandard 2.0 (кстати, другие этого не делают, просто понял, что)
Оказывается, вам нужно установить Chrome в образ докера, поместив команды вфайл Docker.
Я объяснил весь процесс обучения здесь, включая то, как я нашел этот рабочий код: https://hub.docker.com/r/masteroleary/selenium-dotnetcore2.2-linux