diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f37e060f21107b52e887d270a347e3add636bd06..d75c3dc90eeff4eb2995295cbc6080f38e620379 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -143,6 +143,24 @@ build-debian-wp-org-deploy-build-dev:
   except:
     - master
 
+# PHP 8.1
+build-php-8.1-master:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.1" ./php/8.1
+    - docker push "$CI_REGISTRY_IMAGE/php:8.1"
+  only:
+    - master
+  when: manual
+
+build-php-8.1-dev:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.1-dev" ./php/8.1
+    - docker push "$CI_REGISTRY_IMAGE/php:8.1-dev"
+  except:
+    - master
+
 # PHP 8.0
 build-php-8.0-master:
   stage: deploy
diff --git a/php/7.1/Dockerfile b/php/7.1/Dockerfile
index 534296bee9c0ddefc258742bca3ea05671fa6827..9dde4898d3c85403749aa8ec30c9be46cb75eb12 100644
--- a/php/7.1/Dockerfile
+++ b/php/7.1/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.1-stretch
+FROM php:7.1-buster
 
 LABEL maintainer="ethitter"
 LABEL version="1.0"
diff --git a/php/7.2/Dockerfile b/php/7.2/Dockerfile
index 99064717e30d2cbac0eb2d1006f3a2adf8bf8a89..b664f6381d744a7f680e66eb320f06e38061da02 100644
--- a/php/7.2/Dockerfile
+++ b/php/7.2/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.2-stretch
+FROM php:7.2-buster
 
 LABEL maintainer="ethitter"
 LABEL version="1.0"
diff --git a/php/7.3/Dockerfile b/php/7.3/Dockerfile
index be21bd44943baa62c080b85ac34115594c0fd4f2..f0bb5a320d2ede51ad002a001fe429c137e6148a 100644
--- a/php/7.3/Dockerfile
+++ b/php/7.3/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.3-stretch
+FROM php:7.3-bullseye
 
 LABEL maintainer="ethitter"
 LABEL version="1.0"
diff --git a/php/7.4/Dockerfile b/php/7.4/Dockerfile
index 2977116224778cb7bc8c70e4a2476a2054ba0ffd..5f5ebcca93db8851f7be6276061c7a39572a785e 100644
--- a/php/7.4/Dockerfile
+++ b/php/7.4/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.4-buster
+FROM php:7.4-bullseye
 
 LABEL maintainer="ethitter"
 LABEL version="1.0"
diff --git a/php/8.0/Dockerfile b/php/8.0/Dockerfile
index 74ea0defed1e46fb5ba9e56665b3c4b2aa7c6d50..0beaf6694337be89e1cb436f999c8aa06dc4fcc9 100644
--- a/php/8.0/Dockerfile
+++ b/php/8.0/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:8.0-buster
+FROM php:8.0-bullseye
 
 LABEL maintainer="ethitter"
 LABEL version="1.0"
diff --git a/php/8.1/Dockerfile b/php/8.1/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..4b55961af52aae31c609a7c7b59cc72ed9bed213
--- /dev/null
+++ b/php/8.1/Dockerfile
@@ -0,0 +1,17 @@
+FROM php:8.1-bullseye
+
+LABEL maintainer="ethitter"
+LABEL version="1.0"
+
+RUN apt-get update \
+    && apt-get -yqqf install lsb-release zip unzip rsync subversion git libicu-dev libpng-dev libbz2-dev default-libmysqlclient-dev libzip-dev libonig-dev --fix-missing --no-install-recommends \
+    && apt-get clean \
+    && rm -rf /var/lib/apt/lists/*
+
+RUN docker-php-ext-install mbstring mysqli intl gd zip bz2
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
+RUN chmod +x /usr/local/bin/composer
+
+ENV PATH=/root/.composer/vendor/bin:$HOME/.composer/vendor/bin:$PATH