diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a742db5f1f104a5abaf41721986786311aea240c..2f65f0445ee02c33739ec769250085b346153c3f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,8 +3,28 @@ include:
   ref: master
   file: devcontainer_images.gitlab-ci.yml
 
-build:
+variables:
+  IMAGE_BASENAME: ${IMAGE_PREFIX}/devcontainer-dotnet
+
+.build_old_dotnet:
+  extends: .build_old_version
+  variables:
+    IMAGE_NAME: ${IMAGE_BASENAME}:${VERSION}
+    BUILD_ARGS: DOTNET_VERSION=${VERSION}
+
+.build_dotnet:
   extends: .build_image_job_template
   variables:
-    IMAGE_BASENAME: ${IMAGE_PREFIX}/devcontainer-dotnet
-    IMAGE_NAME: ${IMAGE_BASENAME}:8.0
+    IMAGE_NAME: ${IMAGE_BASENAME}:${VERSION}
+    BUILD_ARGS: DOTNET_VERSION=${VERSION}
+
+
+"8.0": # LTS
+  extends: .build_dotnet
+  variables:
+    VERSION: 8.0
+
+"9.0": # STS
+  extends: .build_dotnet
+  variables:
+    VERSION: 9.0
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index ed4a0aa21642c7e53f0de3c9b673e112c636cc8a..bef686fbaf83cdad0bc973c2aa65037ad9b9ec00 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -4,12 +4,38 @@
     "version": "2.0.0",
     "tasks": [
         {
-            "label": "docker build",
+            "label": "build",
             "command": "docker",
             "args": [
                 "build",
-                "."
-            ]
-        }
-    ]
+                "--build-arg",
+                "DOTNET_VERSION=${input:dotnetVersion}",
+                ".",
+            ],
+        },
+        {
+            "label": "buildx build",
+            "command": "docker",
+            "args": [
+                "buildx",
+                "build",
+                "--build-arg",
+                "DOTNET_VERSION=${input:dotnetVersion}",
+                "--platform",
+                "linux/arm64,linux/amd64",
+                ".",
+            ],
+        },
+    ],
+    "inputs": [
+        {
+            "id": "dotnetVersion",
+            "type": "pickString",
+            "description": "Choose dotnet image version",
+            "options": [
+                "8.0",
+                "9.0",
+            ],
+        },
+    ],
 }
diff --git a/Dockerfile b/Dockerfile
index 40c7e96fe63e73212e4036984e7819e2bad0d5fc..3760c715d24f8a26673ec504149da745f69c2317 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,6 @@
-FROM mcr.microsoft.com/dotnet/sdk:8.0
+ARG DOTNET_VERSION="8.0"
+
+FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}
 
 ARG USERNAME="vscode"
 ARG USER_UID="1000"