diff --git a/docker/Dockerfile.afrouterTest b/docker/Dockerfile.afrouterTest
new file mode 100644
index 0000000..3f159d6
--- /dev/null
+++ b/docker/Dockerfile.afrouterTest
@@ -0,0 +1,88 @@
+# Copyright 2016 the original author or authors.
+#
+# 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.
+
+# -------------
+# Build stage
+
+FROM golang:1.12-alpine3.9 AS build-env
+
+# Install required packages
+RUN apk add --no-cache wget git make build-base protobuf protobuf-dev
+
+# Prepare directory structure
+RUN ["mkdir", "-p", "/build"]
+RUN ["mkdir", "-p", "$GOPATH/src", "$GOPATH/pkg", "$GOPATH/bin"]
+RUN ["mkdir", "-p", "$GOPATH/src/github.com/opencord"]
+RUN ["mkdir", "-p", "$GOPATH/src/github.com/opencord/voltha-go"]
+
+WORKDIR $GOPATH/src/github.com/opencord/voltha-go
+
+# Copy common files.
+COPY common ./common
+COPY db ./db
+COPY kafka ./kafka
+COPY vendor ./vendor
+
+# Copy files
+COPY rw_core ./rw_core
+COPY afrouter ./afrouter
+COPY tests/afrouter ./tests/afrouter
+COPY tests/afrouter /build/tests
+
+# Copy proto files
+COPY vendor/ $GOPATH/src
+
+# Copy config and runtime protobuf needed for routing
+RUN cp afrouter/arouter.json /build/tests/suites/
+RUN cp vendor/github.com/opencord/voltha-protos/go/voltha.pb /build/tests/suites/
+
+# Build
+RUN cd afrouter && go build --tags integration -o /build/afrouter
+RUN cd tests/afrouter && go build --tags integration -o /build/afrouterTest
+
+# Run tests
+RUN cd /build/tests/suites && /build/afrouterTest -config main.json -logLevel 1
+
+# -------------
+# Image creation stage
+
+FROM alpine:3.9.4
+
+# Set the working directory
+WORKDIR /app
+
+# Copy required files
+COPY --from=build-env /build/afrouter /app/tests/
+COPY --from=build-env /build/afrouterTest /app/tests/
+COPY --from=build-env /build/tests/suites/arouter.json /app/
+COPY --from=build-env /build/tests/suites/voltha.pb /app/tests/
+COPY --from=build-env /build/tests /app/tests/
+COPY --from=build-env /src/tests /app/tests/
+
+CMD tests/runAll tests
+
+# Label image
+ARG org_label_schema_version=unknown
+ARG org_label_schema_vcs_url=unknown
+ARG org_label_schema_vcs_ref=unknown
+ARG org_label_schema_build_date=unknown
+ARG org_opencord_vcs_commit_date=unknown
+
+LABEL org.label-schema.schema-version=1.0 \
+      org.label-schema.name=afroutertest \
+      org.label-schema.version=$org_label_schema_version \
+      org.label-schema.vcs-url=$org_label_schema_vcs_url \
+      org.label-schema.vcs-ref=$org_label_schema_vcs_ref \
+      org.label-schema.build-date=$org_label_schema_build_date \
+      org.opencord.vcs-commit-date=$org_opencord_vcs_commit_date
