Как добавить Chromedriver в существующий Docker? - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть личный проект ASP.NET Core, который очищает данные из Интернета с помощью Selenium и Chromium и сохраняет их в локальной базе данных sqlite.

Я хочу иметь возможность запускать это приложение в образе Docker на моемСинология NAS.Мне удалось создать и запустить образ Docker (на моем Mac), он корректно отображает данные из sqlite db, но получая ошибку при попытке очистки:

The chromedriver file does not exist in the current directory or in a directory on the PATH environment variable.

Из моего очень ограниченного понимания Dockers в целом я понимаючто мне нужно как-то добавить хром-драйвер в докер.

Я много искал, просмотрел ~ 30 различных примеров и до сих пор не могу заставить это работать.

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 06 февраля 2019

Вам необходимо создать новый образ на основе существующего, в который вы добавите двоичный файл chromedriver.Другими словами, вам нужно расширить текущее изображение.

Поэтому создайте каталог, содержащий Dockerfile и двоичный файл chromedriver .

Ваш Dockerfile долженвыглядит следующим образом:

FROM your_existing_image_name:version
COPY chromedriver desired_path_inside_container

Затем откройте терминал в этом каталоге и выполните:

docker build -t your_existing_image_name:version++ .

После этого вы сможете запустить контейнер изНедавно созданное изображение.

Некоторые примечания:

  • Я предположил, что ваше существующее изображение было помечено версией.Если это не так, удалите :version из Dockerfile
  • Аналогичным образом удалите :version++ из команды сборки.Тем не менее, хорошей практикой является включение версий в ваши изображения.
  • Я не добавил ни одной точки входа, предполагая, что вам не нужно менять существующую.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...