Я новичок в контейнере докеров. Я пытаюсь создать файл докеров с npm, node js, chromedriver и selenium-chromedriver и запустить мой файл javascript. В моем локальном я запускаю скрипт в безголовом браузере Chrome.
Вот мой файл докера.
ИЗ убунту: 20.04
ПОЛЬЗОВАТЕЛЬ root
РАБОЧИЙ КАТАЛОГ /дом/приложение
RUN apt-получить обновление
RUN apt-get install git --yes
# Установите Google Chrome
ВЫПОЛНИТЬ apt-получить установку wget
ЗАПУСК apt-get install ./google-chrome*.deb --yes
ЗАПУСК wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -P /usr/bin/ && \ dpkg --unpack google-chrome-stable_current_amd64.deb && \ apt-get install - ф-у,
#ОТ узла:14.18.0
ОТ узла: 17.2.0
ПОЛЬЗОВАТЕЛЬ root
ENV NODE_ENV=производство
WORKDIR/нагрузочное тестирование
КОПИРОВАТЬ ["/LoadTesting/package.json", "."]
ЗАПУСТИТЬ установку npm
ЗАПУСК npm ci
ЗАПУСТИТЬ npm установить nodejs
ЗАПУСК npm установить мокко -g
ЗАПУСК npm установить chromedriver -g --unsafe-perm
ЗАПУСК npm установить selenium-webdriver
КОПИРОВАТЬ /Нагрузочное тестирование .
КОПИРОВАТЬ /LoadTesting/test .
CMD ["узел", "./test/script.js"]
Ниже приведен мой файл компоновки докеров.
версия: '3.7'
Сервисы:
к6:
изображение: "loadimpact/k6:0.32.0"
тома:
- "./нагрузочное тестирование:/скрипты"
узлы:
строить:
контекст: ./
докерфайл: k6-nodejs-dockerfile
тома:
- '.loadtesting:/loadtesting'
тома:
графана-хранилище:
прометей-данные:
внешний: правда
Затем я использую следующие команды
docker compose build//нет ошибки
докер создает k6 nodejs
Затем я получаю следующую ошибку.
| /LoadTesting/node_modules/selenium-webdriver/remote/index.js:248
-узлы-1 | отклонить (Ошибка (электронное сообщение))
-узлы-1 | ^
-узлы-1 |
-узлы-1 | Ошибка: сервер преждевременно остановлен со статусом 127.
-узлы-1 | в /LoadTesting/node_modules/selenium-webdriver/remote/index.js:248:24
-узлы-1 | в processTicksAndRejections (узел: внутренний/процесс/task_queues:96:5)
В моей локальной среде Windows он работает правильно. Насколько я знаю, я устанавливаю хром, драйвер хрома и селен-вебдрайвер.
Что отсутствует?