diff --git a/build/docker/ubuntu-jammy/Dockerfile b/build/docker/ubuntu-jammy/Dockerfile
new file mode 100644
index 0000000..6ab65fb
--- /dev/null
+++ b/build/docker/ubuntu-jammy/Dockerfile
@@ -0,0 +1,283 @@
+# 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.
+
+#
+# Apache Thrift Docker build environment for Ubuntu Jammy
+# with some updated packages.
+#
+
+FROM buildpack-deps:jammy-scm
+LABEL MAINTAINER="Apache Thrift <dev@thrift.apache.org>"
+ENV DEBIAN_FRONTEND=noninteractive
+
+### Add apt repos
+
+RUN apt-get update -yq && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends --fix-missing \
+  apt \
+  apt-transport-https \
+  apt-utils \
+  curl \
+  dirmngr \
+  software-properties-common \
+  wget
+
+# Dart
+RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+  curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+  /etc/apt/sources.list.d/dart_stable.list
+
+# dotnet (netcore)
+RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+  wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
+  chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
+  chown root:root /etc/apt/sources.list.d/microsoft-prod.list
+
+# node.js
+RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+  echo "deb https://deb.nodesource.com/node_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
+
+### install general dependencies
+RUN apt-get update -yq && \
+  apt-get install -y --no-install-recommends \
+  `# General dependencies` \
+  bash-completion \
+  bison \
+  build-essential \
+  clang \
+  cmake \
+  debhelper \
+  flex \
+  gdb \
+  libasound2 \
+  libatk-bridge2.0-0 \
+  libgtk-3-0 \
+  llvm \
+  ninja-build \
+  pkg-config \
+  unzip \
+  valgrind \
+  vim
+ENV PATH /usr/lib/llvm-6.0/bin:$PATH
+
+# lib/as3 (ActionScript)
+RUN mkdir -p /usr/local/adobe/flex/4.6 && \
+  cd /usr/local/adobe/flex/4.6 && \
+  wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+  unzip flex_sdk_4.6.zip
+ENV FLEX_HOME /usr/local/adobe/flex/4.6
+
+# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
+# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
+RUN apt-get install -y --no-install-recommends \
+  `# C++ dependencies` \
+  libboost-all-dev \
+  libevent-dev \
+  libssl-dev \
+  qt5-default \
+  qtbase5-dev \
+  qtbase5-dev-tools
+
+ENV SBCL_VERSION 1.5.3
+RUN \
+  `# Common Lisp (sbcl) dependencies` \
+  curl --version && \
+  curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+  tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
+  cd sbcl-${SBCL_VERSION}-x86-64-linux && \
+  ./install.sh && \
+  sbcl --version && \
+  cd .. && \
+  rm -rf sbcl*
+
+ENV D_VERSION     2.087.0
+ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
+RUN \
+  `# D dependencies` \
+  wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+  dpkg --install ${DMD_DEB} && \
+  rm -f ${DMD_DEB} && \
+  mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+  git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+  mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-libevent-2.0 && \
+  git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+  mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-openssl-1.1.0h
+
+ENV DART_VERSION 2.7.2-1
+RUN apt-get install -y --no-install-recommends \
+  `# Dart dependencies` \
+  dart=$DART_VERSION
+ENV PATH /usr/lib/dart/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# dotnet core dependencies` \
+  dotnet-sdk-6.0 \
+  dotnet-runtime-6.0 \
+  aspnetcore-runtime-6.0 \
+  dotnet-apphost-pack-6.0
+
+# Erlang dependencies
+ARG ERLANG_OTP_VERSION=23.3.4.11
+ARG ERLANG_REBAR_VERSION=3.18.0
+RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
+  curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
+  kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+  curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+  rebar3 --version
+ENV PATH /usr/local/lib/otp/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# GlibC dependencies` \
+  libglib2.0-dev
+
+# golang
+ENV GOLANG_VERSION 1.19
+ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6
+RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
+  echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
+  tar -C /usr/local -xzf golang.tar.gz && \
+  ln -s /usr/local/go/bin/go /usr/local/bin && \
+  rm golang.tar.gz
+
+RUN apt-get install -y --no-install-recommends \
+  `# Haxe dependencies` \
+  haxe \
+  neko \
+  neko-dev && \
+  haxelib setup --always /usr/share/haxe/lib && \
+  haxelib install --always hxcpp 2>&1 > /dev/null
+
+ENV GRADLE_VERSION="7.5.1"
+RUN apt-get install -y --no-install-recommends \
+  `# Java dependencies` \
+  ant \
+  ant-optional \
+  maven \
+  openjdk-11-jdk-headless && \
+  `# Gradle` \
+  wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
+  (echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
+  unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
+  mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
+  ln -s /usr/local/gradle/bin/gradle /usr/local/bin
+
+RUN apt-get install -y --no-install-recommends \
+  `# Lua dependencies` \
+  lua5.2 \
+  lua5.2-dev
+# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
+# lua5.3 does not install alternatives!
+# need to update our luasocket code, lua doesn't have luaL_openlib any more
+
+RUN apt-get install -y --no-install-recommends \
+  `# Node.js dependencies` \
+  nodejs
+
+# Test dependencies for running puppeteer
+RUN apt-get install -y --no-install-recommends \
+  `# JS dependencies` \
+  libxss1 \
+  libxtst6
+
+RUN apt-get install -y --no-install-recommends \
+  `# OCaml dependencies` \
+  ocaml \
+  opam && \
+  `# disable sandboxing see https://github.com/ocaml/opam/issues/4327` \
+  opam init --yes --disable-sandboxing && \
+  opam install --yes oasis
+
+RUN apt-get install -y --no-install-recommends \
+  `# Perl dependencies` \
+  libbit-vector-perl \
+  libclass-accessor-class-perl \
+  libcrypt-ssleay-perl \
+  libio-socket-ssl-perl \
+  libnet-ssleay-perl \
+  libtest-exception-perl
+
+RUN apt-get install -y --no-install-recommends \
+  `# Php dependencies` \
+  php \
+  php-cli \
+  php-dev \
+  php-json \
+  php-pear \
+  re2c \
+  composer
+
+RUN apt-get install -y --no-install-recommends \
+  `# Python3 dependencies` \
+  python3-all \
+  python3-all-dbg \
+  python3-all-dev \
+  python3-pip \
+  python3-setuptools \
+  python3-six \
+  python3-tornado \
+  python3-twisted \
+  python3-wheel \
+  python3-zope.interface
+
+RUN apt-get install -y --no-install-recommends \
+  `# Ruby dependencies` \
+  ruby \
+  ruby-dev \
+  ruby-bundler
+
+# Rust dependencies
+RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.61.0 -y
+ENV PATH /root/.cargo/bin:$PATH
+
+# Swift on Linux for cross tests
+RUN apt-get install -yq \
+  libedit-dev \
+  libz3-dev \
+  libpython2-dev \
+  libxml2-dev && \
+  cd / && \
+  wget --quiet https://download.swift.org/swift-5.7-release/ubuntu2204/swift-5.7-RELEASE/swift-5.7-RELEASE-ubuntu22.04.tar.gz && \
+  tar xf swift-5.7-RELEASE-ubuntu22.04.tar.gz --strip-components=1 && \
+  rm swift-5.7-RELEASE-ubuntu22.04.tar.gz && \
+  swift --version
+
+# Locale(s) for cpp unit tests
+RUN apt-get install -y --no-install-recommends \
+  `# Locale dependencies` \
+  locales && \
+  locale-gen en_US.UTF-8 && \
+  locale-gen de_DE.UTF-8 && \
+  update-locale
+
+RUN apt-get install -y --no-install-recommends \
+  `# Static Code Analysis dependencies` \
+  cppcheck \
+  sloccount && \
+  pip install flake8
+
+# NOTE: this does not reduce the image size but adds an additional layer.
+# # Clean up
+# RUN rm -rf /var/cache/apt/* && \
+#     rm -rf /var/lib/apt/lists/* && \
+#     rm -rf /tmp/* && \
+#     rm -rf /var/tmp/*
+
+ENV THRIFT_ROOT /thrift
+RUN mkdir -p $THRIFT_ROOT/src
+COPY Dockerfile $THRIFT_ROOT/
+WORKDIR $THRIFT_ROOT/src
