Chuyển đến nội dung chính

Docker và docker-compose

Cài đặt A-Parser trên Linux và MacOS thông qua docker là phương pháp được khuyến nghị, chúng tôi đã chuẩn bị một image bao gồm tất cả các phụ thuộc và thư viện cần thiết để A-Parser và Headless Chrome hoạt động

Trước khi cài đặt

Trước khi cài đặt, bạn cần điền IP trong Khu vực Thành viên.

Docker

Bạn cần cài đặt Docker vào hệ thống của mình.

Cài đặt và khởi chạy

Tải xuống và giải nén bản phân phối A-Parser:

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
ghi chú

Việc tải xuống được thực hiện qua một liên kết dùng một lần cho Linux. Bạn cần lấy nó trong Khu vực Thành viên, tab A-Parser -> Tải xuống

Khởi chạy bằng lệnh:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground

Tùy chọn -foreground sẽ hiển thị nội dung tệp nhật ký trực tiếp trong 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

Sau khi khởi chạy, A-Parser sẽ khả dụng tại địa chỉ http://127.0.0.1:9091

Để chạy container trong chế độ nền, hãy sử dụng lệnh:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t -d aparser/runtime ./aparser

Tối ưu hóa Linux để chạy nhiều luồng hơn

Theo mặc định, bên trong container cũng có giới hạn về số lượng tệp/socket được mở. Để tăng giới hạn lên 10240 khi chạy qua Docker, hãy sử dụng tùy chọn --ulimit:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 --ulimit nofile=10240:10240 -t -d aparser/runtime ./aparser

Cấu hình tương tự có thể được thiết lập trong docker-compose.yml:

services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091
ulimits:
nofile:
soft: 10240
hard: 10240

Ngoài ra, bạn nên thực hiện tối ưu hóa Linux để chạy nhiều luồng hơn trên hệ thống máy chủ.

Cập nhật A-Parser

Dừng container:

docker stop aparser

Cập nhật A-Parser:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground -doupdate

Sau khi hoàn tất cập nhật, hãy khởi chạy A-Parser

ghi chú

Bạn cũng có thể thực hiện cập nhật thông qua giao diện hoặc bằng liên kết dùng một lần

docker-compose

Tải xuống và giải nén bản phân phối A-Parser:

curl -O https://a-parser.com/members/onetime/ce42f308eaa577b5/aparser.tar.gz
tar zxf aparser.tar.gz
rm -f aparser.tar.gz

Tạo tệp docker-compose.yml:

version: '3'

services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091

Khởi chạy A-Parser:

docker compose up -d

TODO: (tiếp theo) #### Kết nối HTTPS qua Let's Encrypt