dotnet-docker icon indicating copy to clipboard operation
dotnet-docker copied to clipboard

Not able to run Docker image for .net 8

Open rupisaini123 opened this issue 1 year ago • 2 comments

I have created a dockerfile. I am able to debug the project from dockerfile in Rider. But when i create a image from dockerfile, it build file and no error. But when i create container from that image and run it. It closes immediately with status -EXITED (1).

I am using MAC M1 Pro. I have tried creating docker image for native arm64 as well as AMD64, both results are same

Steps to Reproduce

Docker File: `FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /App

COPY . ./ RUN dotnet restore RUN dotnet publish -c Release -o out

Build runtime image

FROM mcr.microsoft.com/dotnet/aspnet:8.0 EXPOSE 8080 EXPOSE 8081 WORKDIR /App COPY --from=build-env /App/out .

USER $APP_UID ENTRYPOINT ["dotnet", "EMBot.dll"]`

Other Information

I got into docker image using - docker run -it --entrypoint sh I was in app directory then ran dotnet app.dll. This immediately close the command without any errors or messages

Output of docker version

Client: Version: 27.2.0 API version: 1.47 Go version: go1.21.13 Git commit: 3ab4256 Built: Tue Aug 27 14:14:45 2024 OS/Arch: darwin/arm64 Context: desktop-linux

Server: Docker Desktop 4.34.2 (167172) Engine: Version: 27.2.0 API version: 1.47 (minimum version 1.24) Go version: go1.21.13 Git commit: 3ab5c7d Built: Tue Aug 27 14:15:41 2024 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.7.20 GitCommit: 8fc6bcff51318944179630522a095cc9dbf9f353 runc: Version: 1.1.13 GitCommit: v1.1.13-0-g58aa920 docker-init: Version: 0.19.0 GitCommit: de40ad0

Output of docker info

Client: Version: 27.2.0 Context: desktop-linux Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.16.2-desktop.1 Path: /Users//.docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.29.2-desktop.2 Path: /Users//.docker/cli-plugins/docker-compose debug: Get a shell into any image or container (Docker Inc.) Version: 0.0.34 Path: /Users//.docker/cli-plugins/docker-debug desktop: Docker Desktop commands (Alpha) (Docker Inc.) Version: v0.0.15 Path: /Users//.docker/cli-plugins/docker-desktop dev: Docker Dev Environments (Docker Inc.) Version: v0.1.2 Path: /Users//.docker/cli-plugins/docker-dev extension: Manages Docker extensions (Docker Inc.) Version: v0.2.25 Path: /Users//.docker/cli-plugins/docker-extension feedback: Provide feedback, right in your terminal! (Docker Inc.) Version: v1.0.5 Path: /Users//.docker/cli-plugins/docker-feedback init: Creates Docker-related starter files for your project (Docker Inc.) Version: v1.3.0 Path: /Users//.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//.docker/cli-plugins/docker-sbom scout: Docker Scout (Docker Inc.) Version: v1.13.0 Path: /Users//.docker/cli-plugins/docker-scout

Server: Containers: 1 Running: 0 Paused: 0 Stopped: 1 Images: 11 Server Version: 27.2.0 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 splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 runc Default Runtime: runc Init Binary: docker-init containerd version: 8fc6bcff51318944179630522a095cc9dbf9f353 runc version: v1.1.13-0-g58aa920 init version: de40ad0 Security Options: seccomp Profile: unconfined cgroupns Kernel Version: 6.10.4-linuxkit Operating System: Docker Desktop OSType: linux Architecture: aarch64 CPUs: 10 Total Memory: 7.753GiB Name: docker-desktop ID: 1b53dfb4-8177-4461-9982-5ea04fb1ebf5 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 Labels: com.docker.desktop.address=unix:///Users/*/Library/Containers/com.docker.docker/Data/docker-cli.sock 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

rupisaini123 avatar Sep 19 '24 01:09 rupisaini123

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

ghost avatar Sep 19 '24 01:09 ghost

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

ghost avatar Sep 19 '24 01:09 ghost

@rupisaini123, there are a few things you can try to troubleshoot this.

First you could make sure that your app is actually making it into the final stage and confirm which file dotnet should run. You mentioned both app.dll and EMBot.dll in your post so it's not clear which one you're intending to run.

Run docker run --rm --entrypoint /bin/sh -w /App <your image> -c ls -lah to see which files end up in the /App directory in your final image.

lbussell avatar Sep 23 '24 18:09 lbussell

[Triage] Closing as there was no response from @rupisaini123. Feel free to re-open the issue if you have more info.

lbussell avatar Oct 07 '24 18:10 lbussell