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?