containerd / nerdctl

contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...
Apache License 2.0
7.86k stars 585 forks source link

nerdctl push level=fatal msg="content digest sha256:xxx: not found" #3026

Open shiyong1989 opened 3 months ago

shiyong1989 commented 3 months ago

Description

nerdctl push level=fatal msg=content digest sha256:xxx: not found

Steps to reproduce the issue

command :

  1. nerdctl commit --namespace xxx "${CONTAINER_ID}" "${_IMAGE_INFO}"

  2. nerdctl push --namespace xxx "${_IMAGE_INFO}" --all-platforms --insecure-registry --hosts-dir /etc/cert/certs.d/

Describe the results you received and expected

1.return msg: level=warning msg="Image lacks label "nerdctl/platform", assuming the platform to be "linux/arm64/v8"" sha256:91d29b450fd577c6178932589d82d6605cfba904b7d16b75d6e81bbf00426057

2.return msg: level=warning msg="skipping verifying HTTPS certs for "harbor address"" manifest-sha256:0ec2084b9ea28247e6039d3a4d4a1dc7303283a2d026dbc136d1bc52b488278c: waiting |--------------------------------------| config-sha256:91d29b450fd577c6178932589d82d6605cfba904b7d16b75d6e81bbf00426057: waiting |--------------------------------------| elapsed: 0.1 s total: 0.0 B (0.0 B/s) manifest-sha256:0ec2084b9ea28247e6039d3a4d4a1dc7303283a2d026dbc136d1bc52b488278c: waiting |--------------------------------------| config-sha256:91d29b450fd577c6178932589d82d6605cfba904b7d16b75d6e81bbf00426057: waiting |--------------------------------------| elapsed: 0.2 s total: 0.0 B (0.0 B/s)

level=fatal msg="content digest sha256:cd25eaaf6be54ee842ccee9897790061be5fc8f83a04a3766fe9b94c14669855: not found"

What version of nerdctl are you using?

1.5.0

Are you using a variant of nerdctl? (e.g., Rancher Desktop)

None

Host information

No response

AkihiroSuda commented 3 months ago

Please try removing --all-platforms

shiyong1989 commented 3 months ago

Removing --all-platforms will be the same problem.

kebe7jun commented 3 months ago

+1 I had the same problem.

but nerdctl run works fine.

kebe7jun commented 3 months ago

+1 I had the same problem.

but nerdctl run works fine.

I found that the issue was caused by the compressed layer of the base image not existing in the content dir. You need to first execute nerdctl pull xxxx --unpack=false for the base image, and then push the committed image.

Does this meet your expectations?

shiyong1989 commented 3 months ago

@kebe7jun I`ll try this command , thanks.