diff --git a/thirdparty_containers/derby/build.xml b/thirdparty_containers/derby/build.xml
new file mode 100644
index 0000000000..93e29b7247
--- /dev/null
+++ b/thirdparty_containers/derby/build.xml
@@ -0,0 +1,39 @@
+
+
+
+
+ Build derby-test docker image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/thirdparty_containers/derby/dockerfile/Dockerfile b/thirdparty_containers/derby/dockerfile/Dockerfile
new file mode 100644
index 0000000000..908a9bd8cd
--- /dev/null
+++ b/thirdparty_containers/derby/dockerfile/Dockerfile
@@ -0,0 +1,60 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This Dockerfile in thirdparty_containers/derby/dockerfile dir is used to create an image with
+# AdoptOpenJDK jdk binary installed. Basic test dependent executions
+# are installed during the building process.
+#
+# Build example: `docker build -t adoptopenjdk-derby-test .`
+#
+# This Dockerfile builds image based on adoptopenjdk/openjdk8:latest.
+# If you want to build image based on other images, please use
+# `--build-arg list` to specify your base image
+#
+# Build example: `docker build --build-arg IMAGE_NAME= --build-arg IMAGE_VERSION=-t adoptopenjdk-derby-test .`
+
+ARG SDK=openjdk8
+ARG IMAGE_NAME=adoptopenjdk/$SDK
+ARG IMAGE_VERSION=latest
+
+FROM $IMAGE_NAME:$IMAGE_VERSION
+
+# Install test dependent executable files
+RUN apt-get update \
+ && apt-get -y install \
+ ant \
+ apt-transport-https \
+ ca-certificates \
+ dirmngr \
+ curl \
+ git \
+ make \
+ unzip \
+ vim \
+ wget
+
+VOLUME ["/java"]
+ENV JAVA_HOME=/java \
+ PATH=/java/bin:$PATH \
+ JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
+
+WORKDIR /
+ENV DERBY_HOME ${WORKDIR}/derby
+
+# This is the main script to run derby tests.
+COPY ./dockerfile/derby-test.sh /derby-test.sh
+
+# Clone Derby source.
+RUN git clone https://github.com/apache/derby.git
+
+ENTRYPOINT ["/bin/bash", "/derby-test.sh"]
+CMD ["--version"]
diff --git a/thirdparty_containers/derby/dockerfile/derby-test.sh b/thirdparty_containers/derby/dockerfile/derby-test.sh
new file mode 100644
index 0000000000..4d4027c700
--- /dev/null
+++ b/thirdparty_containers/derby/dockerfile/derby-test.sh
@@ -0,0 +1,72 @@
+#/bin/bash
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#Set up Java to be used by the the derby-test
+
+if [ -d /java/jre/bin ];then
+ echo "Using mounted Java8"
+ export JAVA_BIN=/java/jre/bin
+ export JAVA_HOME=/java
+ export PATH=$JAVA_BIN:$PATH
+ java -version
+elif [ -d /java/bin ]; then
+ echo "Using mounted Java9"
+ export JAVA_BIN=/java/bin
+ export JAVA_HOME=/java
+ export PATH=$JAVA_BIN:$PATH
+ java -version
+else
+ echo "Using docker image default Java"
+ java_path=$(type -p java)
+ suffix="/java"
+ java_root=${java_path%$suffix}
+ export JAVA_BIN="$java_root"
+ echo "JAVA_BIN is: $JAVA_BIN"
+ $JAVA_BIN/java -version
+fi
+
+TEST_SUITE=$1
+
+echo "PATH is : $PATH"
+echo "JAVA_HOME is : $JAVA_HOME"
+echo "type -p java is :"
+type -p java
+echo "java -version is: \n"
+java -version
+
+cd ${DERBY_HOME}
+ls .
+pwd
+
+#clean previous build artifacts
+ant -f ${DERBY_HOME}/build.xml clobber
+
+#build all
+ant -f ${DERBY_HOME}/build.xml all
+
+#create jars
+ant -f ${DERBY_HOME}/build.xml buildjars
+
+export jardir ${DERBY_HOME}/jars/sane
+export tstjardir ${DERBY_HOME}/tools/java
+export CLASSPATH "${jardir}/derbyrun.jar:${jardir}/derbyTesting.jar:${tstjardir}/junit.jar"
+
+java -jar ${DERBY_HOME}/jars/sane/derbyrun.jar sysinfo
+
+#Run all tests
+ant -Dderby.tests.basePort=1690 -Dderby.system.durability=test -DderbyTesting.oldReleasePath=${DERBY_HOME}/jars junit-all
+
+#Run only derbylang suite
+#java -Dverbose=true -cp ${jardir}/derbyrun.jar:${jardir}/derbyTesting.jar:$tstjardir/junit.jar org.apache.derbyTesting.functionTests.harness.RunSuite #derbylang
+
diff --git a/thirdparty_containers/derby/playlist.xml b/thirdparty_containers/derby/playlist.xml
new file mode 100644
index 0000000000..98625450e4
--- /dev/null
+++ b/thirdparty_containers/derby/playlist.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ derby_test_junit_all
+ docker run --rm -v $(JDK_HOME):/java adoptopenjdk-derby-test:latest ; \
+ $(TEST_STATUS)
+
+ SE80
+ SE90
+
+
+ extended
+
+
+ external
+
+
+