Doc: executor manager updated docker version (#11946)

### What problem does this PR solve?

Add documentation for #11806.

### Type of change

- [x] Documentation Update
This commit is contained in:
Yongteng Lei
2025-12-15 11:13:51 +08:00
committed by GitHub
parent 1ddd11f045
commit 13d8241eee
3 changed files with 45 additions and 3 deletions

View File

@ -23,6 +23,10 @@ We use gVisor to isolate code execution from the host system. Please follow [the
RAGFlow Sandbox is a secure, pluggable code execution backend. It serves as the code executor for the **Code** component. Please follow the [instructions here](https://github.com/infiniflow/ragflow/tree/main/sandbox) to install RAGFlow Sandbox. RAGFlow Sandbox is a secure, pluggable code execution backend. It serves as the code executor for the **Code** component. Please follow the [instructions here](https://github.com/infiniflow/ragflow/tree/main/sandbox) to install RAGFlow Sandbox.
:::note Docker client version
The executor manager image now bundles Docker CLI `29.1.0` (API 1.44+). Older images shipped Docker 24.x and will fail against newer Docker daemons with `client version 1.43 is too old`. Pull the latest `infiniflow/sandbox-executor-manager:latest` or rebuild `./sandbox/executor_manager` if you encounter this error.
:::
:::tip NOTE :::tip NOTE
If your RAGFlow Sandbox is not working, please be sure to consult the [Troubleshooting](#troubleshooting) section in this document. We assure you that it addresses 99.99% of the issues! If your RAGFlow Sandbox is not working, please be sure to consult the [Troubleshooting](#troubleshooting) section in this document. We assure you that it addresses 99.99% of the issues!
::: :::
@ -122,6 +126,22 @@ docker pull infiniflow/sandbox-base-nodejs:latest
docker pull infiniflow/sandbox-base-python:latest docker pull infiniflow/sandbox-base-python:latest
``` ```
### `docker: Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44`
**Root cause**
The executor manager image you are running includes Docker CLI 24.x (API 1.43) while the host Docker daemon now requires API 1.44+ (e.g., Docker 25+ / 29.x).
**Solution**
Pull the refreshed image or rebuild locally so the embedded Docker client is new enough:
```bash
docker pull infiniflow/sandbox-executor-manager:latest
# or
docker build -t sandbox-executor-manager:latest ./sandbox/executor_manager
```
### `HTTPConnectionPool(host='none', port=9385): Max retries exceeded.` ### `HTTPConnectionPool(host='none', port=9385): Max retries exceeded.`
**Root cause** **Root cause**

View File

@ -23,11 +23,13 @@ The architecture consists of isolated Docker base images for each supported lang
- Linux distribution compatible with gVisor. - Linux distribution compatible with gVisor.
- gVisor installed and configured. - gVisor installed and configured.
- Docker version 24.0.0 or higher. - Docker version 25.0 or higher (API 1.44+). The executor manager image now ships Docker CLI `29.1.0` to stay compatible with newer Docker daemons.
- Docker Compose version 2.26.1 or higher (similar to RAGFlow requirements). - Docker Compose version 2.26.1 or higher (similar to RAGFlow requirements).
- uv package and project manager installed. - uv package and project manager installed.
- (Optional) GNU Make for simplified command-line management. - (Optional) GNU Make for simplified command-line management.
> **Note:** If you see `client version 1.43 is too old. Minimum supported API version is 1.44`, pull the latest `infiniflow/sandbox-executor-manager:latest` from Docker Hub (or rebuild `./sandbox/executor_manager`). Older images embedded Docker 24.x, which cannot talk to upgraded Docker daemons.
## Build Docker base images ## Build Docker base images
The sandbox uses isolated base images for secure containerised execution environments. The sandbox uses isolated base images for secure containerised execution environments.

View File

@ -24,7 +24,7 @@ A secure, pluggable code execution backend for RAGFlow and beyond.
- Linux distro compatible with gVisor - Linux distro compatible with gVisor
- [gVisor](https://gvisor.dev/docs/user_guide/install/) - [gVisor](https://gvisor.dev/docs/user_guide/install/)
- Docker >= `24.0.0` - Docker >= `25.0` (API 1.44+) — executor manager now bundles Docker CLI `29.1.0` to match newer daemons.
- Docker Compose >= `v2.26.1` like [RAGFlow](https://github.com/infiniflow/ragflow) - Docker Compose >= `v2.26.1` like [RAGFlow](https://github.com/infiniflow/ragflow)
- [uv](https://docs.astral.sh/uv/) as package and project manager - [uv](https://docs.astral.sh/uv/) as package and project manager
@ -34,6 +34,10 @@ A secure, pluggable code execution backend for RAGFlow and beyond.
--- ---
> ⚠️ **New Docker CLI requirement**
>
> If you see `client version 1.43 is too old. Minimum supported API version is 1.44`, pull the latest `infiniflow/sandbox-executor-manager:latest` (rebuilt with Docker CLI `29.1.0`) or rebuild `./sandbox/executor_manager` locally. Older images shipped Docker 24.x, which cannot talk to newer Docker daemons.
### 🐳 Build Docker Base Images ### 🐳 Build Docker Base Images
We use isolated base images for secure containerized execution: We use isolated base images for secure containerized execution:
@ -292,6 +296,22 @@ Follow this checklist to troubleshoot:
127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager 127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager
``` ```
- [ ] **Are you running the latest executor manager image?**
**Common error:**
`docker: Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44`
**Fix:**
Pull the refreshed image that bundles Docker CLI `29.1.0`, or rebuild locally:
```bash
docker pull infiniflow/sandbox-executor-manager:latest
# or
docker build -t sandbox-executor-manager:latest ./sandbox/executor_manager
```
- [ ] **Have you enabled sandbox-related configurations in RAGFlow?** - [ ] **Have you enabled sandbox-related configurations in RAGFlow?**
Double-check that all sandbox settings are correctly enabled in your RAGFlow configuration. Double-check that all sandbox settings are correctly enabled in your RAGFlow configuration.