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 nodul:17.2.0
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 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get install ./google-chrome*.deb --yes
#DIN nodul:14.18.0
#DIN nodul:17.2.0
#USER root
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/lib/error.js:517
-nodejs-1 | let err = ctor nou (data.message)
-nodejs-1 | ^
-nodejs-1 |
-nodejs-1 | WebDriverError: eroare necunoscută: Chrome nu a pornit: ieșit anormal.
-nodejs-1 | (eroare necunoscută: fișierul DevToolsActivePort nu există)
-nodejs-1 | (Procesul început din locația Chrome /usr/bin/google-chrome nu mai rulează, așa că ChromeDriver presupune că Chrome s-a blocat.)
-nodejs-1 | la Object.throwDecodedError (/LoadTesting/node_modules/selenium-webdriver/lib/error.js:517:15)
-nodejs-1 | la parseHttpResponse (/LoadTesting/node_modules/selenium-webdriver/lib/http.js:643:13)
-nodejs-1 | la Executor.execute (/LoadTesting/node_modules/selenium-webdriver/lib/http.js:569:28)
-nodejs-1 | la processTicksAndRejections (nod:intern/process/task_queues:96:5) {
-nodejs-1 | remoteStacktrace: „#0 0x55d05197cee3 <necunoscut>\n” +
-nodejs-1 | „#1 0x55d05144a608 <necunoscut>\n” +
-nodejs-1 | „#2 0x55d05146d8ef <necunoscut>\n” +
-nodejs-1 | „#3 0x55d05146946f <necunoscut>\n” +
-nodejs-1 | „#4 0x55d0514a3f45 <necunoscut>\n” +
-nodejs-1 | „#5 0x55d05149e163 <necunoscut>\n” +
-nodejs-1 | „#6 0x55d051473bfc <necunoscut>\n” +
-nodejs-1 | „#7 0x55d051474c05 <necunoscut>\n” +
-nodejs-1 | „#8 0x55d0519aebaa <necunoscut>\n” +
-nodejs-1 | „#9 0x55d0519c4651 <necunoscut>\n” +
-nodejs-1 | „#10 0x55d0519afb05 <necunoscut>\n” +
-nodejs-1 | „#11 0x55d0519c5a68 <necunoscut>\n” +
-nodejs-1 | „#12 0x55d0519a405f <necunoscut>\n” +
-nodejs-1 | „#13 0x55d0519e0818 <necunoscut>\n” +
-nodejs-1 | „#14 0x55d0519e0998 <necunoscut>\n” +
-nodejs-1 | „#15 0x55d0519fbeed <necunoscut>\n” +
-nodejs-1 | „#16 0x7f46791e2ea7 <necunoscut>\n”
-nodejs-1 | }
-nodejs-1 |
Ce îmi lipsește? Căutarea simplă pe Google spune că versiunea mea google chromer și versiunea chromedriver ar trebui să se potrivească. Cum trebuie să fac? Nu am nevoie de o versiune specifică, deoarece rulez Chrome în browserul Chrome fără cap în scriptul meu.
Sugerați vă rog.