Puncte:0

docker - nodejs - selenium-webdriver - Eroare: Serverul sa terminat mai devreme cu starea 127

drapel us
Jay

Sunt novice într-un container docker. Încerc să creez un fișier docker care să aibă npm, node js, chromedriver și selenium-chromedriver și să rulez fișierul meu javascript. În localul meu, rulez scriptul în browserul Chrome fără cap.

Aici este fișierul meu Docker.

DIN ubuntu:20.04

rădăcină UTILIZATOR

WORKDIR /home/app

RUN apt-get update
  
RUN apt-get install git --yes

# Instalați Google Chrome
RUN apt-get install wget
RUN apt-get install ./google-chrome*.deb --yes
RUN 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 - f-y,

#DIN nodul:14.18.0
DIN nodul:17.2.0
rădăcină UTILIZATOR
ENV NODE_ENV=producție
WORKDIR /LoadTesting
COPY ["/LoadTesting/package.json", "."]
RUN instalarea npm
RUN npm ci
RUN npm install nodejs
RUN npm install mocha -g
RUN npm install chromedriver -g --unsafe-perm
RUN npm instalează selenium-webdriver


COPY /LoadTesting .
COPY /LoadTesting/test .
CMD [„nod”, „./test/script.js”]

următorul este fișierul meu de scriere Docker

versiunea: „3.7”

Servicii:
  k6:
    imagine: „loadimpact/k6:0.32.0”
    volume:
      - „./loadtesting:/scripts”
  nodejs:
    construi:
      context: ./
      dockerfile: k6-nodejs-dockerfile
    volume:
      - „.loadtesting:/loadtesting”

volume:
  stocare-grafana:
  prometheus-data:
    extern: adevărat

Apoi folosesc următoarele comenzi

docker compose build //nicio eroare
docker compune k6 nodejs

Apoi primesc următoarea eroare.

| /LoadTesting/node_modules/selenium-webdriver/remote/index.js:248
-nodejs-1 | respinge(Eroare (e.message))
-nodejs-1 | ^
-nodejs-1 |
-nodejs-1 | Eroare: serverul s-a terminat mai devreme cu starea 127
-nodejs-1 | la /LoadTesting/node_modules/selenium-webdriver/remote/index.js:248:24
-nodejs-1 | la processTicksAndRejections (nod:intern/process/task_queues:96:5)

În mediul meu local Windows, funcționează corect. Din câte știu eu, instalez chrome, chrome driver și selenium-webdriver.

Ce lipseste?

Puncte:0
drapel in

Nu poți folosi două DIN linii de genul ăsta. Totul înainte de a doua DIN linia nu va mai fi disponibilă după aceea, va începe o nouă imagine.

Citat din DIN documentație:

Fiecare DIN instrucțiunea șterge orice stare creată de instrucțiunile anterioare.

Puteți copia fișiere din etapa anterioară în cea de-a doua, așa cum este descris în documentație de construcție în mai multe etape:

DIN golang:1.16 AS constructor
# fă-ți treaba
DIN alpin: cel mai recent
COPIEAZĂ --from=builder /go/src/github.com/alexellis/href-counter/app ./
# face mai multe lucruri

Alternativă: Imaginea nodului se bazează pe o imagine Debian. Ar trebui să puteți instala ceea ce aveți nevoie direct în imaginea respectivă.

drapel in
@jay, vă rog, nu editați răspunsurile altor persoane ca acestea. Puteți comenta propria întrebare pentru a solicita clarificări și vă puteți edita propria întrebare pentru a oferi mai multe informații. Dar nu editați întrebarea într-un mod care ar face răspunsurile complet invalide.Uneori este mai bine să puneți o nouă întrebare dacă apare o problemă ulterioară.
Jay avatar
drapel us
Jay
Îmi pare rău. Aceasta a fost o greșeală

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.