Skip to content

Commit

Permalink
build: add dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
mbhall88 committed Dec 14, 2023
1 parent c558ce7 commit 69d7a6a
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.git*
target/
tmp*/
benchmark
ci
clippy.toml
codecov.yml
data
img
scripts
.ide*
cog.toml
64 changes: 64 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
FROM rust:1.74 AS builder

COPY . /nohuman

WORKDIR /nohuman

RUN apt update \
&& apt install -y musl-tools libssl-dev pkg-config \
&& cargo build --release \
&& strip target/release/nohuman

FROM ubuntu:jammy as kraken

# for easy upgrade later. ARG variables only persist during build time.
ARG K2VER="2.1.3"

LABEL base.image="ubuntu:jammy"
LABEL dockerfile.version="2"
LABEL software="Kraken2"
LABEL software.version="${K2VER}"
LABEL description="Taxonomic sequence classifier"
LABEL website="https://github.com/DerrickWood/kraken2"
LABEL license="https://github.com/DerrickWood/kraken2/blob/master/LICENSE"
LABEL maintainer="Curtis Kapsak"
LABEL maintainer.email="[email protected]"
LABEL maintainer2="Erin Young"
LABEL maintainer2.email="[email protected]"

# install dependencies and cleanup apt garbage
RUN apt-get update && apt-get -y --no-install-recommends install \
wget \
ca-certificates \
zlib1g-dev \
make \
g++ \
rsync \
cpanminus \
ncbi-blast+ && \
rm -rf /var/lib/apt/lists/* && apt-get autoclean

# perl module required for kraken2-build
RUN cpanm Getopt::Std

# DL Kraken2, unpack, and install
RUN wget https://github.com/DerrickWood/kraken2/archive/v${K2VER}.tar.gz && \
tar -xzf v${K2VER}.tar.gz && \
rm -rf v${K2VER}.tar.gz && \
cd kraken2-${K2VER} && \
./install_kraken2.sh /bin


FROM ubuntu:jammy

COPY --from=builder /nohuman/target/release/nohuman /bin/
COPY --from=kraken /bin/kraken2* /bin/

RUN nohuman --version
# print help and versions
RUN kraken2 --help && \
kraken2-build --help && \
kraken2 --version


ENTRYPOINT [ "nohuman" ]

0 comments on commit 69d7a6a

Please sign in to comment.