Рейтинг:0

docker - nodejs - selenium-webdriver - Ошибка: сервер преждевременно завершен со статусом 127

флаг us
Jay

Я новичок в контейнере докеров. Я пытаюсь создать файл докеров с 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 он работает правильно. Насколько я знаю, я устанавливаю хром, драйвер хрома и селен-вебдрайвер.

Что отсутствует?

Рейтинг:0
флаг in

Вы не можете использовать два ОТ линии такие. Все до второго ОТ линия после этого будет недоступна, она запустит новый образ.

Цитата из ОТ документация:

Каждый ОТ инструкция очищает любое состояние, созданное предыдущими инструкциями.

Вы можете копировать файлы с предыдущего этапа на второй, как описано в документация по многоэтапной сборке:

ОТ golang:1.16 AS билдер
# делай свое дело
ОТ альпийского: последний
КОПИРОВАТЬ --from=builder /go/src/github.com/alexellis/href-counter/app ./
# делать больше вещей

Альтернатива: образ узла основан на образе debian. Вы должны иметь возможность установить то, что вам нужно, прямо в этот образ.

флаг in
@jay, пожалуйста, не редактируй ответы других людей. Вы можете прокомментировать свой вопрос, чтобы запросить разъяснения, и вы можете отредактировать свой вопрос, чтобы предоставить дополнительную информацию. Но не редактируйте свой вопрос таким образом, чтобы сделать ответы полностью недействительными.Иногда лучше задать новый вопрос, если возникает дополнительная проблема.
Jay avatar
флаг us
Jay
Мне жаль. Это была ошибка

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.