diff --git a/Makefile b/Makefile
index 872de15c085fa9495c0617a0217ed558212dcf4b..bf377969fe936fde813738b2ae875c3028339976 100644
--- a/Makefile
+++ b/Makefile
@@ -30,7 +30,7 @@ php-browser-test: php-browser-test_8.2 php-browser-test_latest
 mobile: android-build-server
 static-code-analysis: static-code-analysis_latest static-code-analysys_php static-code-analysys_python static-code-analysys_android
 utility: alpine-ssh-client merge-request-check
-dotnet: dotnet_6.0
+dotnet: dotnet_6.0 dotnet_8.0
 
 # PHP Lint Images
 ####################
@@ -147,6 +147,9 @@ dependency-check: dependency-check/Dockerfile
 dotnet_6.0: dotnet-build-server/6.0/Dockerfile
 	docker build $(BUILD_ARGS) -t ${REPO_ORG}/dotnet-build-server:6.0 -f dotnet-build-server/6.0/Dockerfile dotnet-build-server/6.0/
 
+dotnet_8.0: dotnet-build-server/8.0/Dockerfile
+	docker build $(BUILD_ARGS) -t ${REPO_ORG}/dotnet-build-server:8.0 -f dotnet-build-server/8.0/Dockerfile dotnet-build-server/8.0/
+
 #IMAGES_TO_SCAN = $(shell docker images --format '{{.Repository}}:{{.Tag}}' | grep unl-its )
 #security:
 #	@docker login -u ${TENABLE_IO_ACCESS_KEY} -p ${TENABLE_IO_SECRET_KEY} registry.cloud.tenable.com
diff --git a/dotnet-build-server/8.0/Dockerfile b/dotnet-build-server/8.0/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..dbffa22ff1a60174ace6c81da43d73c45d7420c4
--- /dev/null
+++ b/dotnet-build-server/8.0/Dockerfile
@@ -0,0 +1,30 @@
+FROM mcr.microsoft.com/dotnet/sdk:8.0
+
+ARG BUILD_DATE
+ARG VCS_REF
+ARG VERSION
+LABEL org.label-schema.build-date=$BUILD_DATE \
+      org.label-schema.name="dotnet SDK 8.0" \
+      org.label-schema.description="Docker image to build .NET 8.0 applications" \
+      org.label-schema.vcs-ref=$VCS_REF \
+      org.label-schema.vendor="University of Nebraska - Lincoln" \
+      org.label-schema.version="0.1.2" \
+      org.label-schema.schema-version="1.0" \
+      maintainer="Roger Feese <rfeese@nebraska.edu>"
+
+# Make sure that tools we need are installed
+# Add external nodejs LTS apt source
+RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
+# Create missing man directores for update-alternatives
+RUN mkdir -p /usr/share/man/man1
+# JRE, NodeJS for sonarqube scanner post-scan
+RUN apt-get update && apt-get install -y \
+    git \
+    openjdk-17-jre \
+    nodejs \
+    && rm -rf /var/lib/apt/lists/*
+
+# sonarscanner (https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-msbuild/)
+RUN dotnet tool install --global dotnet-sonarscanner
+RUN dotnet tool install --global trx2junit
+ENV PATH=/root/.dotnet/tools:$PATH