Docker en docker-compose
Het installeren van A-Parser op Linux en MacOS via Docker is de aanbevolen methode. We hebben een image voorbereid die alle benodigde afhankelijkheden en bibliotheken bevat voor de werking van A-Parser en Headless Chrome.
Voor de installatie
- Vóór de installatie moet u het IP-adres registreren in het Ledengebied.
- U moet Docker installeren op uw systeem.
Downloaden van de distributie
Download en pak de A-Parser distributie uit:
curl -O https://a-parser.com/members/onetime/ce42f308eaa577b5/aparser-linux-x64.tar.gz
tar zxf aparser-linux-x64.tar.gz
rm -f aparser-linux-x64.tar.gz
Het downloaden gebeurt via een eenmalige link voor Linux. Deze kunt u vinden in het Ledengebied, tabblad A-Parser -> Downloads
Starten via Docker
Starten in foreground-modus
Start A-Parser in foreground-modus om de logs in de terminal te zien:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground
De optie -foreground toont de inhoud van het logbestand direct in de terminal:
Apr 27 07:06:53.10427 [master] foreground mode
Apr 27 07:06:54.06409 [master] Found local Chromium: /app/dist/nodejs/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome
Apr 27 07:06:55.36487 [master] NodeJS console: [Rank::CMS] total loaded 1446 apps
Apr 27 07:07:19.01377 [master] Start ProxyChecker nocheck
Apr 27 07:07:19.24418 [master] Start ProxyChecker default
Apr 27 07:07:19.62635 [master] A-Parser v1.2.1176-linux-x64 started, tasks: 0 / 2, memory total: 1989 MB, available: 610 MB
Na het opstarten is A-Parser beschikbaar op het adres http://127.0.0.1:9091
Starten in de achtergrond
Gebruik het volgende commando om de container op de achtergrond te draaien:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t -d aparser/runtime ./aparser
Optimalisatie van threads bij starten via Docker
Standaard geldt er binnen de container een beperking op het aantal open bestanden/sockets. Om de limiet te verhogen naar 10240 bij het starten via Docker, gebruikt u de optie --ulimit:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 --ulimit nofile=10240:10240 -t -d aparser/runtime ./aparser
Daarnaast wordt aanbevolen om Linux tuning voor een groter aantal threads uit te voeren op het hostsysteem.
A-Parser bijwerken in een Docker-container
Stop de container:
docker stop aparser
Werk A-Parser bij:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground -doupdate
Start A-Parser zodra de update is voltooid
U kunt ook bijwerken via de interface of via een eenmalige link
Starten in Headful-modus
Gebruik de image aparser/runtime:headful voor het scrapen van websites die het starten van de browser in headful-modus (met een virtueel display) vereisen.
Om over te stappen van een normale image naar headful:
Stop de container:
docker stop aparser
Download de headful image:
docker pull aparser/runtime:headful
Start A-Parser met de nieuwe image:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t -d aparser/runtime:headful ./aparser
Voor docker-compose vervangt u de image in docker-compose.yml:
image: aparser/runtime:headful
Voer vervolgens uit:
docker compose up -d
Schakel na het opstarten in de scraper-instellingen Chrome headless: 0 in. In het logboek moet bij het starten van Chrome Headful worden weergegeven.
De novnc-server is beschikbaar op poort 5900 voor visuele controle, het wachtwoord wordt ingesteld via de variabele VNC_PASSWORD (standaard: docker).
Starten via docker-compose
Voorbeeld docker-compose.yml
Maak een bestand docker-compose.yml aan:
version: '3'
services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091
Starten via docker-compose
Start A-Parser:
docker compose up -d
Tuning van threads in docker-compose
Bij het draaien via docker-compose geldt binnen de container een limiet op het aantal geopende bestanden/sockets. Om de limiet te verhogen naar 10240, voegt u het blok ulimits toe aan de service a-parser:
services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091
ulimits:
nofile:
soft: 10240
hard: 10240
Het wordt ook aanbevolen om Linux-tuning voor meer threads uit te voeren op het hostsysteem.