Skip to content

Commit eed1957

Browse files
Add FAQ for docker pull error on Kylin OS (#3870)
Added instructions for resolving 'invalid tar header' error on Kylin OS with an ARM64 architecture on Atlas300I hardware during docker pull, including steps for offline loading of docker images. --- ### What this PR does / why we need it? The primary motivation for this PR is to address a critical `docker pull` failure that occurs on specific, yet important, enterprise environments. Specifically, when operating on **Kylin OS (麒麟操作系统) with an ARM64 architecture on Atlas300I hardware**, users frequently encounter an `archive/tar: invalid tar header` error, which completely blocks the setup process. This issue has been consistently reproduced, with multiple retries failing with the same error, confirming that it is a persistent environmental problem rather than a transient network issue. <img width="2060" height="525" alt="image" src="https://github.com/user-attachments/assets/6c1c5728-de27-476f-8df4-723564fc290b" /> This guide provides a robust, step-by-step workaround using an offline-loading method (`docker save` on a host machine and `docker load` on the target machine). This solution is crucial for enabling users on this platform to use vLLM. This contribution does not directly fix an existing issue number, but it proactively solves a significant environmental and usability problem for a growing user base. ### Does this PR introduce _any_ user-facing change? No.It does not alter any code, APIs, interfaces, or existing behavior of the vLLM project. ### How was this patch tested? The instructions and troubleshooting steps in this guide were validated through a real-world, end-to-end test case on the my hardware and OS. The testing process was as follows: 1. **Problem Reproduction**: An attempt was made to directly `docker pull` the `vllm-ascend:v0.10.0rc1-310p` image on a target machine running Kylin OS (ARM64). The `invalid tar header` failure was successfully and consistently reproduced, confirming the existence of the problem. 2. **Solution Implementation**: The workaround detailed in the guide was executed: * On a separate host machine (Ubuntu x86_64), the image was successfully pulled using the `--platform linux/arm64` flag. * The image was then saved to a `.tar` archive using `docker save`. * The `.tar` archive was transferred to the target Kylin OS machine. * The image was successfully loaded from the archive using `docker load -i ...`. 3. **End-to-End Validation**: After loading the image, the vLLM container was launched on the target machine following the instructions in the guide. Both online inference (via `curl` to the API server) and offline inference (via the Python script) were executed successfully, confirming that the entire workflow described in the document is accurate and effective. Since this is a documentation-only change based on a validated workflow, no new unit or integration tests were added to the codebase. - vLLM version: v0.11.0rc3 - vLLM main: vllm-project/vllm@83f478b --------- Signed-off-by: Liwx <[email protected]> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent 14ca1e5 commit eed1957

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

docs/source/faqs.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,30 @@ The current stream requirement calculation for size captures only accounts for m
212212

213213
### 19. How to install custom version of torch_npu?
214214
torch-npu will be overridden when installing vllm-ascend. If you need to install a specific version of torch-npu, you can manually install the specified version of torch-npu after vllm-ascend is installed.
215+
216+
### 20. On certain systems (e.g., Kylin OS), `docker pull` may fail with an `invalid tar header` error
217+
218+
On certain operating systems, such as Kylin OS , you may encounter an `invalid tar header` error during the `docker pull` process:
219+
220+
```text
221+
failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar: invalid tar header
222+
```
223+
224+
This is often due to system compatibility issues. You can resolve this by using an offline loading method with a second machine.
225+
226+
1. On a separate host machine (e.g., a standard Ubuntu server), pull the image for the target ARM64 architecture and package it into a `.tar` file.
227+
228+
```bash
229+
export IMAGE_TAG=v0.10.0rc1-310p
230+
export IMAGE_NAME="quay.io/ascend/vllm-ascend:${IMAGE_TAG}"
231+
# If in China region, uncomment to use a mirror:
232+
# export IMAGE_NAME="m.daocloud.io/quay.io/ascend/vllm-ascend:${IMAGE_TAG}"
233+
234+
# Pull the image for the ARM64 platform and save it
235+
docker pull --platform linux/arm64 "${IMAGE_NAME}"
236+
docker save -o "vllm_ascend_${IMAGE_TAG}.tar" "${IMAGE_NAME}"
237+
```
238+
239+
2. Transfer the image archive
240+
241+
Copy the `vllm_ascend_<tag>.tar` file (where `<tag>` is the image tag you used) to your target machine

0 commit comments

Comments
 (0)