Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

618
Views
Obteniendo "¿Quería ejecutar los comandos dotnet SDK? Instale dotnet SDK desde"

Estoy tratando de contener una aplicación .net MVC, pero cuando ejecuto la imagen aparece el error como el siguiente

usuario@usuario:~/sam/WebApp$ docker run -p 8000:80 sam:último

¿Quería ejecutar comandos dotnet SDK? Instale dotnet SDK desde: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

usuario@usuario:~/sam/WebApp$

Y mi Dockerfile parece

 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app COPY /bin/Release/Publish /app ENTRYPOINT ["dotnet", "WebApp.dll"]

¿Dónde me estoy equivocando?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Respuesta tardía, pero problema bastante común, así que lo responderé.

Esto suele suceder si el argumento de destino de dll en su punto de entrada no existe. Hay otras posibilidades si está exportando, tarando y reimportando activos, pero probablemente eso no sea lo que estamos tratando aquí.

En su caso, la operación de copia apunta a una ubicación de archivo relativa a la raíz. Supongo que no está publicando en {system root/}bin/Release/Publish, y su dockerfile se encuentra en la raíz de su proyecto.

Para resolver esto, debe realizar operaciones de copia relativas al directorio en el que se encuentra su dockerfile y especificar las operaciones de copia utilizando una ruta relativa al directorio (./etc).

Ejemplo que funciona a partir de mis pruebas:

 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app COPY ./bin/Release/Publish /app ENTRYPOINT ["dotnet", "WebApi.dll"]

Para ver si funciona, examine el contenedor resultante iniciando con una anulación de cmd:

 docker run -it --rm sam:latest /bin/sh ... pwd #ensure workdir is app ls -la #ensure that your application is copied here

Si desea investigar más a fondo, puede usar docker run para anular su punto de entrada y experimentar con diferentes configuraciones de lanzamiento para ver el resultado. Los comandos que necesitarás son los siguientes:

 docker run -it --rm --entrypoint {dotnet executable} {image}:{tag} {non-existent dll}

Ejemplo de salida cuando se apunta a un dll inexistente a través de la anulación en un contenedor que funciona de otro modo:

 ➜ docker run -it --rm --entrypoint dotnet sam:latest weebles.dll Did you mean to run dotnet SDK commands? Please install dotnet SDK from: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!