Skip to content

[Bug] Local image import succeeds with empty paths and does not call docker load #13228

Description

@oliver556

Contact Information

No response

1Panel Version

v2.2.3

Problem Description

The local image import feature does not actually import the selected image file.

Path:

Containers -> Images -> Import Image -> Local Import

After selecting a local image tar file on the server and confirming the import, 1Panel shows a success message. The task log also ends immediately, but no image is imported.

From browser DevTools, the request payload only contains an empty paths array:

{
  "paths": [],
  "taskID": "<task-id>"
}

The task log also shows an empty image list:

2026/07/09 15:42:38 导入镜像 [] 任务开始 [START]
2026/07/09 15:42:38 [TASK-END]

It looks like the frontend does not pass the selected local file path to the backend. The backend then receives empty paths, creates a task, and returns success without doing anything.

Steps to Reproduce

  1. Open 1Panel v2.2.3.
  2. Go to Containers -> Images.
  3. Click Import Image.
  4. Choose Local Import.
  5. Select a local image tar file on the server.
  6. Confirm the import.
  7. 1Panel shows a success message.
  8. Check the task log, request payload, and Docker events.

The expected correct result

1Panel should send the selected server-side local tar file path to the backend, for example:

{
  "paths": ["/root/test-image-load/test.tar"],
  "taskID": "..."
}

The backend should execute the image import, equivalent to:

docker load -i /root/test-image-load/test.tar

If paths is empty, the backend should return an error instead of success.

Related log output

Task log:

2026/07/09 15:42:38 导入镜像 [] 任务开始 [START]
2026/07/09 15:42:38 [TASK-END]

1pctl logs has no related error output:

Command:
1pctl logs | grep -Ei "image|load|import|docker|tar|no such|not exist|permission|open"

Output:
No output.

Docker image events were monitored while triggering the local import:

Command:
docker events --since 0s --filter type=image

Output:
No image event was emitted.

Additional Information

The same tar file can be imported successfully through SSH:

docker load -i /root/test-image-load/test.tar

After manual import, the image appears correctly in the 1Panel image list.

So the image file, local path, and Docker daemon are all valid. The issue seems to be in the local image import request payload or backend validation for empty paths.

A DevTools screenshot is attached showing the request payload:

{
  "paths": [],
  "taskID": "4eb35e60-c346-4318-b48a-359cbd816085"
}
Image

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions