crazy-max / undock

Extract contents of a container image in a local folder
https://crazymax.dev/undock/
MIT License
170 stars 12 forks source link

Undock v0.8.0-linux-x64, got empty file named `.wh..wh..opq` #254

Open huapox opened 1 month ago

huapox commented 1 month ago

Description

undock v0.8.0-linux-x64, got empty file named .wh..wh..opq, when extract from registry-v2.8.3

vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # find dist-repo*
dist-repo1
dist-repo2
dist-repo2/abmp-iap-app
dist-repo2/abmp-iap-app/app
dist-repo2/abmp-iap-app/app/.wh..wh..opq #got this empty file
dist-repo2/abmp-iap-app/app/abmp-iap-application.tar.gz

Steps to reproduce

# REPO1: auth,multiArch
  rm -rf dist-repo1
  echo XXX |docker login $REPO1 --username=XXX --password-stdin
  ./bin/undock --include=/bin --insecure --rm-dist --all $REPO1/library/alpine:3.13.12 ./dist-repo1/alpine-313

# REPO2
  rm -rf dist-repo2
  ./bin/undock --include=/bin/busybox --insecure --rm-dist $REPO2/alpine:3.13.12 ./dist-repo2/alpine-313
  ./bin/undock --include=/app --insecure --rm-dist $REPO2/jenkins/public-service-center-camera:240718_114140 ./dist-repo2/psc-camera
  ./bin/undock --include=/app --insecure --rm-dist $REPO2/jenkins/multidimensional-omof-device-mgr:240712_140444 ./dist-repo2/omof-devicemgr
  ./bin/undock --include=/app --insecure --rm-dist $REPO2/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437 ./dist-repo2/abmp-iap-app

# View Logs
vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # find dist-repo* -type f |sort
dist-repo1/alpine-313/linux_amd64/bin/busybox
dist-repo1/alpine-313/linux_arm64v8/bin/busybox
dist-repo2/alpine-313/bin/busybox #alpine is ok (which just extract a file, not dir)
dist-repo2/abmp-iap-app/app/.wh..wh..opq ##problem with self built imgs
dist-repo2/abmp-iap-app/app/abmp-iap-application.tar.gz
dist-repo2/omof-devicemgr/app/.wh..wh..opq
dist-repo2/omof-devicemgr/app/device-mgr.tar.gz
dist-repo2/psc-camera/app/.wh..wh..opq
dist-repo2/psc-camera/app/resource-manager-camera-release-2.2.8-v2.0.1-5ef5dae.tar.gz

vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # cat dist-repo2/psc-camera/app/.wh..wh..opq
vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # ls -l dist-repo2/psc-camera/app/.wh..wh..opq
-rwxr-xr-x 1 root root 0 Aug  9 14:24 dist-repo2/psc-camera/app/.wh..wh..opq

Additional info

#exec logs
vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # ./bin/undock --include=/app --insecure --rm-dist $REPO2/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437 ./dist-repo2/abmp-iap-app
Fri, 09 Aug 2024 14:27:42 CST INF Extracting source src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Computed cache digest docker-f0055959337b6bfda9117489439d0a0f675207d412299e981b1a792c97536db6 src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Getting image source signatures src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Copying blob sha256:42f36bb2f7e07bc376784fe40b5817c4abddbfa1c8ae37bd0d63dc694240d324 src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Copying blob sha256:72cfd02ff4d01b1f319eed108b53120dea0185b916d2abeb4e6121879cbf7a65 src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Copying config sha256:56c1626753106ec63d1151a30e6bc9a7e8f8ce1439fa0a8125e1a8b822b63924 src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Writing manifest to image destination src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Extracting blob blob=sha256:72cfd02ff4d01b1f319eed108b53120dea0185b916d2abeb4e6121879cbf7a65 media-type=application/vnd.oci.image.layer.v1.tar+gzip platform=linux/amd64 src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437
Fri, 09 Aug 2024 14:27:42 CST INF Extracting blob blob=sha256:42f36bb2f7e07bc376784fe40b5817c4abddbfa1c8ae37bd0d63dc694240d324 media-type=application/vnd.oci.image.layer.v1.tar+gzip platform=linux/amd64 src=127.0.0.1:5000/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437

#view the image with docker 19.03
vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # docker run -it --rm $REPO2/jenkins/abmp-autoinstall-abmp-iap-application:240205_153437 sh
/ # cd /app/
/app # ls -la
total 111776
drwxr-xr-x    2 root     root          4096 Feb  5  2024 .
drwxr-xr-x    1 root     root          4096 Aug  9 06:34 ..
-rw-r--r--    1 root     root     114448583 Feb  5  2024 abmp-iap-application.tar.gz
/app # find /app/
/app/
/app/abmp-iap-application.tar.gz
/app # 

Undock version

0.8.0

Docker info

Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:42:53 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a66213fe
  Built:            Mon Jun 22 15:49:35 2020
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
huapox commented 1 month ago

same result with v0.7.0

huapox commented 1 month ago

Okay with alpine, when tested with a dir (.wh..wh..opq not exsist)

vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # ./bin/undock --include=/etc/modprobe.d --insecure --rm-dist $REPO2/alpine:3.13.12 ./dist-repo2/alpine-313
Fri, 09 Aug 2024 14:47:43 CST INF Extracting source src=127.0.0.1:5000/alpine:3.13.12
Fri, 09 Aug 2024 14:47:43 CST INF Computed cache digest docker-d0642e6d9bedb4e4f301a936931f8f4a49824bb0951960f9f1de9878f37eead5 src=127.0.0.1:5000/alpine:3.13.12
Fri, 09 Aug 2024 14:47:43 CST INF Getting image source signatures src=127.0.0.1:5000/alpine:3.13.12
Fri, 09 Aug 2024 14:47:43 CST INF Copying blob sha256:72cfd02ff4d01b1f319eed108b53120dea0185b916d2abeb4e6121879cbf7a65 src=127.0.0.1:5000/alpine:3.13.12
Fri, 09 Aug 2024 14:47:43 CST INF Copying config sha256:e0d2486fb1ef4e79e678c4cc950ac939d46fac4e4c38de5f467d29ba33a6b19e src=127.0.0.1:5000/alpine:3.13.12
Fri, 09 Aug 2024 14:47:43 CST INF Writing manifest to image destination src=127.0.0.1:5000/alpine:3.13.12
Fri, 09 Aug 2024 14:47:43 CST INF Extracting blob blob=sha256:72cfd02ff4d01b1f319eed108b53120dea0185b916d2abeb4e6121879cbf7a65 media-type=application/vnd.oci.image.layer.v1.tar+gzip platform=linux/amd64 src=127.0.0.1:5000/alpine:3.13.12
vm-21-61:/opt/apps/quickstart-imgdeploy/imgpackage # find dist-repo2/alpine-313/
dist-repo2/alpine-313/
dist-repo2/alpine-313/etc
dist-repo2/alpine-313/etc/modprobe.d
dist-repo2/alpine-313/etc/modprobe.d/blacklist.conf
dist-repo2/alpine-313/etc/modprobe.d/kms.conf
dist-repo2/alpine-313/etc/modprobe.d/aliases.conf
dist-repo2/alpine-313/etc/modprobe.d/i386.conf