Add Dockerfile and GitLab CI Pipeline

Change-Id: Iafef7b6388667cf2d45c79a4a0e5d0eea224afba
diff --git a/Readme.pod b/Readme.pod
index 074db86..4a058c3 100644
--- a/Readme.pod
+++ b/Readme.pod
@@ -74,6 +74,44 @@
 
 =head1 INSTALLATION
 
+=head2 Docker (Recommended)
+
+The easiest way to use C<tei2korapxml> is via Docker, which bundles all dependencies
+(Perl 5.42, Java 21, and required libraries) in a single container image.
+
+B<Pull from Docker Hub:>
+
+  $ docker pull korap/tei2korapxml:latest
+
+B<Usage examples:>
+
+  # Convert a file
+  $ docker run --rm -v $(pwd):/data korap/tei2korapxml:latest \
+      -s -tk /data/input.i5.xml > output.zip
+
+  # Convert from stdin
+  $ cat input.i5.xml | docker run --rm -i korap/tei2korapxml:latest \
+     -s -tk - > output.zip
+
+  # Using docker-compose
+  $ docker-compose run --rm tei2korapxml -s -tk input.i5.xml > output.zip
+
+B<Build locally:>
+
+  $ docker build -t korap/tei2korapxml:latest .
+
+For a slimmed-down image (using L<mintoolkit|https://github.com/mintoolkit/mint>):
+
+  $ docker build -t korap/tei2korapxml:large .
+  $ mint --crt-api-version 1.46 build --http-probe=false \
+    --exec='PERL5LIB=/tei2korapxml/script/tei2korapxml -v || test $? -eq 2 && java -jar /tei2korapxml/share/KorAP-Tokenizer-2.3.0-standalone.jar -V' \
+    --include-path=/tei2korapxml/lib --include-path=/usr/local/share/perl5 \
+    --include-path=/usr/share/perl5 --include-path=/usr/lib/perl5 \
+    --tag korap/tei2korapxml:latest \
+    korap/tei2korapxml:large
+
+=head2 Traditional Installation
+
 C<tei2korapxml> requires C<libxml2-dev> bindings and L<File::ShareDir::Install> to be installed.
 When these requirements are met, the preferred way to install the script is
 to use L<cpanm|App::cpanminus>.