Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arm64 docker images are broken #46

Closed
alexander-fedora-docusign-com opened this issue Sep 17, 2023 · 3 comments
Closed

Arm64 docker images are broken #46

alexander-fedora-docusign-com opened this issue Sep 17, 2023 · 3 comments
Assignees
Labels

Comments

@alexander-fedora-docusign-com

Describe the bug

After 1.5.15 all new images are smaller, and seems to lack some essential files.

Any build after 1.5.16 will show error: exec ./wiremock-net: no such file or directory.

Seems like something changed from 1.5.15 to 1.5.16. version which made docker images broken.

Expected behavior:

Server should start instead of showing error exec ./wiremock-net: no such file or directory.

Test to reproduce

  • Run following on Apple Mac Book Pro M1
  • docker run --rm -p 9091:80 sheyenrath/wiremock.net-arm64:latest

Other related info

~ docker run --rm -p 9091:80 sheyenrath/wiremock.net-arm64:latest
exec ./wiremock-net: no such file or directory
➜  ~ docker run --rm -p 9091:80 sheyenrath/wiremock.net-arm64:1.5.16
exec ./wiremock-net: no such file or directory
➜  ~ docker run --rm -p 9091:80 sheyenrath/wiremock.net-arm64:1.5.15
09/17/2023 22:22:58 [Info] : By Stef Heyenrath (https://github.com/WireMock-Net/WireMock.Net)
09/17/2023 22:22:58 [Debug] : Server settings {
  "Port": null,
  "UseSSL": null,
  "HostingScheme": null,
  "StartAdminInterface": true,
  "ReadStaticMappings": false,
  "WatchStaticMappings": false,
  "WatchStaticMappingsInSubdirectories": false,
  "ProxyAndRecordSettings": null,
  "Urls": [
    "http://*:80"
  ],
  "StartTimeout": 10000,
  "AllowPartialMapping": false,
  "AdminUsername": null,
  "AdminPassword": null,
  "AdminAzureADTenant": null,
  "AdminAzureADAudience": null,
  "RequestLogExpirationDuration": null,
  "MaxRequestLogCount": null,
  "CorsPolicyOptions": 0,
  "AllowCSharpCodeMatcher": false,
  "AllowBodyForAllHttpMethods": false,
  "AllowOnlyDefinedHttpStatusCodeInResponse": false,
  "DisableJsonBodyParsing": false,
  "DisableRequestBodyDecompressing": null,
  "HandleRequestsSynchronously": false,
  "ThrowExceptionWhenMatcherFails": false,
  "CertificateSettings": null,
  "CustomCertificateDefined": false,
  "ClientCertificateMode": 0,
  "AcceptAnyClientCertificate": false,
  "WebhookSettings": null,
  "UseRegexExtended": true,
  "SaveUnmatchedRequests": false,
  "DoNotSaveDynamicResponseInLogEntry": false,
  "QueryParameterMultipleValueSupport": null
}
09/17/2023 22:22:58 [Info] : Server using .NET 6.0
09/17/2023 22:22:58 Press Ctrl+C to shut down
09/17/2023 22:22:58 WireMock.Net server running
^C09/17/2023 22:22:59 WireMock.Net server stopping because 'CancelKeyPress'
09/17/2023 22:22:59 WireMock.Net server stopped

Docker file inspection:

~ docker run -it --rm -p 9091:80 --entrypoint="sh" sheyenrath/wiremock.net-arm64:1.5.34
/app # ls -la | grep wiremock-net
-rwxr-xr-x    1 root     root        200424 Aug  4 09:58 wiremock-net
-rw-r--r--    1 root     root        219979 Aug  4 09:58 wiremock-net.deps.json
-rw-r--r--    1 root     root          6656 Aug  4 09:58 wiremock-net.dll
-rw-r--r--    1 root     root         22000 Aug  4 09:58 wiremock-net.pdb
-rw-r--r--    1 root     root           479 Aug  4 09:58 wiremock-net.runtimeconfig.json
/app # ./wiremock-net
sh: ./wiremock-net: not found
/app # dotnet ./wiremock-net.dll
Failed to load /app/libhostpolicy.so, error: Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /app/libhostpolicy.so)
An error occurred while loading required library libhostpolicy.so from [/app/]
/app # uname -a
Linux 3e00009423c6 5.15.49-linuxkit-pr #1 SMP PREEMPT Thu May 25 07:27:39 UTC 2023 aarch64 Linux
/app # uname -r
5.15.49-linuxkit-pr

Size change from 1.5.15 to 1.5.16:
image

Docker info:

➜  ~ docker info
Client:
 Version:    24.0.5
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2-desktop.1
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.20.2-desktop.1
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-compose
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.20
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-extension
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.6
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-sbom
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-scan
  scout: Command line tool for Docker Scout (Docker Inc.)
    Version:  0.20.0
    Path:     /Users/alexander.fedora/.docker/cli-plugins/docker-scout

Server:
 Containers: 15
  Running: 0
  Paused: 0
  Stopped: 15
 Images: 304
 Server Version: 24.0.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 5.15.49-linuxkit-pr
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 8
 Total Memory: 19.52GiB
 Name: docker-desktop
 ID: 359ce805-fac8-4053-a8ae-820129f67050
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: daemon is not using the default seccomp profile
@StefH
Copy link
Contributor

StefH commented Sep 19, 2023

@alexander-fedora-docusign-com

Thanks for the detailed analysis.

I've to check this in detail...

(I was building these images in PI-4, but I had to deinstall some things because I was running out of space...)

@StefH StefH pinned this issue Oct 15, 2024
@StefH StefH changed the title Arm64 docker images are broken on all 1.5.16+ versions Arm64 docker images are broken Oct 15, 2024
@StefH
Copy link
Contributor

StefH commented Nov 9, 2024

#34

@StefH StefH self-assigned this Nov 25, 2024
@StefH StefH added the bug label Nov 25, 2024
@StefH
Copy link
Contributor

StefH commented Nov 25, 2024

@alexander-fedora-docusign-com
Version 1.6.8 should work again.

@StefH StefH closed this as completed Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants