plack.dockerfile 681 B

1234567891011121314151617181920212223
  1. FROM perl:5.26
  2. RUN apt update -yqq && apt install -yqq nginx
  3. WORKDIR /plack
  4. RUN cpanm --notest --no-man-page \
  5. JSON JSON::XS IO::Socket::IP IO::Socket::SSL \
  6. JSON::[email protected] \
  7. HTTP::Parser::[email protected] \
  8. [email protected] \
  9. [email protected] \
  10. DBD::[email protected] \
  11. [email protected]
  12. ADD ./app.pid /plack/
  13. ADD ./app.psgi /plack/
  14. add ./nginx.conf /plack/
  15. CMD nginx -c /plack/nginx.conf && \
  16. start_server --backlog=16384 --pid-file=/plack/app.pid --path=/tmp/perl-plack.sock -- plackup \
  17. -E production -s Starlet --max-keepalive-reqs 1000 --max-reqs-per-child 50000 \
  18. --min-reqs-per-child 40000 --max-workers=$(nproc) -a /plack/app.psgi