diff --git a/docker/README.md b/docker/README.md
index 6cf92811d..25537d1b1 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -1,52 +1,59 @@
-# Haystack Docker image
+
+
+
Haystack is an end-to-end framework that enables you to build powerful and production-ready
pipelines for different search use cases. The Docker image comes with a web service
-configured to serve Haystack's `rest_api` to ease pipelines' deployments in containerized
+configured to serve Haystack's `rest_api` to ease pipeline deployments in containerized
environments.
-Start the Docker container binding the TCP port `8000` locally:
+To start the Docker container binding the TCP port `8000` locally, run:
```sh
docker run -p 8000:8000 deepset/haystack
```
-If you need the container to access other services available in the host:
+If you need the container to access other services available in the host, run:
```sh
docker run -p 8000:8000 --network="host" deepset/haystack
```
-## Image variants
+## Image Variants
-The Docker image comes in two variants:
-- `haystack:cpu-`: this image is smaller but doesn't support GPU
-- `haystack:gpu-`: this image comes with the Cuda runtime and is capable of running on GPUs
+The Docker image comes in four variants:
+- `haystack:gpu-` contains Haystack dependencies as well as what's needed to run the REST API and UI. It comes with the CUDA runtime and is capable of running on GPUs.
+- `haystack:cpu-` contains Haystack dependencies as well as what's needed to run the REST API and UI. It has no support for GPU so must be run on CPU.
+- `haystack:base-gpu-` only contains the Haystack dependencies. It comes with the CUDA runtime and is capable of running on GPUs.
+- `haystack:base-cpu-` only contains the Haystack dependencies. It has no support for GPU so must be run on CPU.
-
-## Image development
+## Image Development
Images are built with BuildKit and we use `bake` to orchestrate the process.
-You can build a specific image by simply run:
+You can build a specific image by running:
```sh
docker buildx bake gpu
```
You can override any `variable` defined in the `docker-bake.hcl` file and build custom
-images, for example if you want to use a branch from the Haystack repo:
+images, for example if you want to use a branch from the Haystack repo, run:
```sh
HAYSTACK_VERSION=mybranch_or_tag BASE_IMAGE_TAG_SUFFIX=latest docker buildx bake gpu --no-cache
```
-### A note about multi-platform builds
+### Multi-Platform Builds
+
+Haystack images support multiple architectures. But depending on your operating system and Docker
+environment, you might not be able to build all of them locally.
+
+You may encounter the following error when trying to build the image:
-Haystack images support multiple architectures, but depending on your operating system and Docker
-environment you might not be able to build all of them locally. If you get an error like:
```
multiple platforms feature is currently not supported for docker driver. Please switch to a different driver
(eg. “docker buildx create --use”)
```
-you might need to override the `platform` option and limit local builds to the same architecture as
+To get around this, you need to override the `platform` option and limit local builds to the same architecture as
your computer's. For example, on an Apple M1 you can limit the builds to ARM only by invoking `bake` like this:
+
```sh
docker buildx bake base-cpu --set "*.platform=linux/arm64"
```