diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..e806df88b5abe2cbac1093faa8df1394fb8ffa30
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,67 @@
+##### BASE #####
+FROM rocker/r-ver:4.2.1
+
+##### METADATA #####
+MAINTAINER zavolab-biozentrum@unibas.ch
+LABEL base.image="rocker/r-ver:4.2.1"
+LABEL version="1"
+LABEL software="ascii_alignment_pileup.R"
+LABEL software.version="1.0.1"
+LABEL software.description="Generates an ASCII-style pileup of read alignments in one or more BAM files against one or more regions specified in a BED file"
+LABEL software.website="https://git.scicore.unibas.ch/zavolan_group/tools/ascii-alignment-pileup"
+LABEL software.documentation="https://git.scicore.unibas.ch/zavolan_group/tools/ascii-alignment-pileup"
+LABEL software.license="https://spdx.org/licenses/Apache-2.0"
+LABEL software.tags="bioinformatics"
+LABEL maintainer="zavolab-biozentrum@unibas.ch"
+LABEL maintainer.organisation="Biozentrum, University of Basel"
+LABEL maintainer.location="Spitalstrasse 41, CH-4056 Basel, Switzerland"
+LABEL maintainer.lab="Zavolab"
+LABEL maintainer.license="https://spdx.org/licenses/Apache-2.0"
+
+##### INSTALL #####
+RUN \
+  apt-get update -y \
+  && apt-get install -y --no-install-recommends \
+    apt-transport-https \
+    curl \
+    libbamtools-dev \
+    libbz2-dev \
+    libcurl4-gnutls-dev \
+    liblzma-dev \
+    libssl-dev \
+    libxml2-dev \
+    software-properties-common \
+    zlib1g-dev \
+  && apt-get autoremove -y \
+  && apt-get clean \
+  && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+RUN \
+  install2.r \
+    --error \
+    --skipinstalled \
+    -r "https://cran.rstudio.com" \
+    -r "http://www.bioconductor.org/packages/release/bioc" \
+    -r "https://bioconductor.org/packages/3.15/data/annotation" \
+    optparse \
+    rtracklayer \
+  && rm -rf /tmp/downloaded_packages/
+
+##### VARIABLES #####
+ARG WORKDIR="/home/bioc/"
+ARG USER="bioc"
+ARG GROUP="bioc"
+ENV PATH="${WORKDIR}:${PATH}"
+
+##### COPY #####
+COPY ./ascii_alignment_pileup.R ${WORKDIR}
+COPY ./tests ${WORKDIR}/tests
+
+##### USER #####
+RUN groupadd -r ${GROUP} && useradd --no-log-init -r -g ${GROUP} ${USER}
+
+##### ENVIRONMENT  #####
+WORKDIR ${WORKDIR}
+RUN chown -R ${USER}:${GROUP} ${WORKDIR} \
+  && chmod 700 ${WORKDIR}
+USER ${USER}
+
diff --git a/README.md b/README.md
index 8dd3711a33661be4280e0218795a41775d7bf56a..6f0038523f0524a6ff9bf34f7d0ec8d9b58c4983 100644
--- a/README.md
+++ b/README.md
@@ -13,11 +13,17 @@ ascii_alignment_pileup.R [-hv] [OPTIONS] bed bam [bam2 ...]
 
 ## Requirements
 
-* R 3.6.0
-* GenomicAlignments 1.20.0
-* optparse 1.6.2
-* rtracklayer 1.44.0
-* tools 3.6.0
+* `R` 3.6.0 / 4.2.1
+* `optparse` 1.6.2 / 1.7.1
+* `rtracklayer` 1.44.0 / 1.56.1
+
+The script was successfully tested with the indicated versions. Other versions
+may work as well, but have not been tested.
+
+For convenience, you can build a container with all required software from the
+provided `Dockerfile` with `docker build .`. Alternatively, you can also pull a
+prebuilt Docker image from
+<https://hub.docker.com/repository/docker/zavolab/ascii-alignment-pileup>.
 
 ## Input files
 
diff --git a/ascii_alignment_pileup.R b/ascii_alignment_pileup.R
index c2b92deaded2112961950edda345c430aa31d236..802b871744552dcbeecce1888df511435fcaa28d 100644
--- a/ascii_alignment_pileup.R
+++ b/ascii_alignment_pileup.R
@@ -12,33 +12,6 @@
 #==================#
 
 
-#========================#
-#   SESSION INFO START   #
-#========================#
-# TESTED WITH:
-#
-# R version 3.6.0 (2019-04-26)
-# Platform: x86_64-pc-linux-gnu (64-bit)
-# Running under: CentOS Linux 7 (Core)
-#
-# attached base packages:
-#  [1] tools     stats4    parallel  stats     graphics  grDevices utils
-#  [8] datasets  methods   base
-#
-# other attached packages:
-#  [1] GenomicAlignments_1.20.0    Rsamtools_2.0.0
-#  [3] SummarizedExperiment_1.14.0 DelayedArray_0.10.0
-#  [5] BiocParallel_1.18.0         matrixStats_0.54.0
-#  [7] Biobase_2.44.0              rtracklayer_1.44.0
-#  [9] GenomicRanges_1.36.0        GenomeInfoDb_1.20.0
-# [11] Biostrings_2.52.0           XVector_0.24.0
-# [13] IRanges_2.18.0              S4Vectors_0.22.0
-# [15] BiocGenerics_0.30.0         optparse_1.6.2
-#========================#
-#    SESSION INFO END    #
-#========================#
-
-
 #==========================#
 #   PRE-REQUISITES START   #
 #==========================#
@@ -56,7 +29,7 @@ against one or more regions specified in a BED file.\n"
 author <- "Author: Alexander Kanitz"
 affiliation <- "Affiliation: Biozentrum, University of Basel"
 email <- "Email: alexander.kanitz@alumni.ethz.ch"
-version <- "Version: 1.0.1 (29-SEP-2019)"
+version <- "Version: 1.0.2"
 requirements <- c("optparse", "rtracklayer", "GenomicAlignments", "tools")
 requirements_txt <- paste("Requires:", paste(requirements, collapse=", "), sep=" ")
 msg <- paste(description, author, affiliation, email, version, requirements_txt, sep="\n")