Skip to content

Commit

Permalink
Merge pull request #46 from datastax/feature/cdm-docker-image
Browse files Browse the repository at this point in the history
Build inside docker
  • Loading branch information
pravinbhat authored Dec 12, 2022
2 parents 84ce7b6 + 99fbe79 commit 4f25eaa
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
FROM eclipse-temurin:8-jammy

# Add all migration tools to path
RUN mkdir -p /assets/

# Download all migration dependencies
RUN cd /assets && \
RUN mkdir -p /assets/ && cd /assets && \
curl -OL https://downloads.datastax.com/dsbulk/dsbulk.tar.gz && \
tar -xzf ./dsbulk.tar.gz && \
rm ./dsbulk.tar.gz && \
Expand All @@ -17,16 +14,35 @@ RUN cd /assets && \
rm ./spark-2.4.8-bin-hadoop2.7.tgz

RUN apt-get update && apt-get install -y openssh-server vim --no-install-recommends && \
rm -rf /var/lib/apt/lists/*
RUN service ssh start
rm -rf /var/lib/apt/lists/* && \
service ssh start

# Copy CDM jar & template files
COPY ./target/cassandra-data-migrator-*.jar /assets/
ARG MAVEN_VERSION=3.8.6
ARG USER_HOME_DIR="/root"
ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries
ENV MAVEN_HOME /usr/share/maven
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
COPY ./src /assets/src
COPY ./pom.xml /assets/pom.xml
COPY ./src/resources/sparkConf.properties /assets/
COPY ./src/resources/partitions.csv /assets/
COPY ./src/resources/primary_key_rows.csv /assets/
COPY ./src/resources/runCommands.txt /assets/

RUN mkdir -p /usr/share/maven /usr/share/maven/ref && \
curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz && \
tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 && \
rm -f /tmp/apache-maven.tar.gz && \
ln -s /usr/share/maven/bin/mvn /usr/bin/mvn && \
cd /assets && mvn -f ./pom.xml clean package && \
cp /assets/target/cassandra-data-migrator-*.jar /assets/ && \
rm -rf /assets/src && \
rm -rf /assets/target && \
rm -rf /assets/pom.xml && \
rm -rf "$MAVEN_HOME" && \
rm -rf "$USER_HOME_DIR/.m2"

# Add all migration tools to path
ENV PATH="${PATH}:/assets/dsbulk/bin/:/assets/cqlsh-astra/bin/:/assets/spark-2.4.8-bin-hadoop2.7/bin/"

Expand Down

0 comments on commit 4f25eaa

Please sign in to comment.