es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Publicar dotnet con la opción –self-contained en un contenedor de Linux.

Hay dos formas de ejecutar una aplicación .net core en un contenedor basado en Linux.

  1. Obtener una imagen base que tenga el marco .net core instalado (sobre la imagen de Linux) y luego copiar el código utilizando dotnet publish.
  2. Usar una imagen base de Linux y luego copiar el tiempo de ejecución dot net y el código utilizando la opción dotnet publish --self-contained.

    –self-contained [true|false]

    Publica el tiempo de ejecución .NET con su aplicación para que el tiempo de ejecución no tenga que instalarse en la máquina de destino. El valor predeterminado es verdadero si se especifica un identificador de tiempo de ejecución y el proyecto es un proyecto ejecutable (no un proyecto de biblioteca).

    ¿Hay alguna ventaja de usar una opción sobre la otra?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay ventajas al utilizar una opción sobre la otra:

    1. El uso de una imagen base con el framework .NET Core instalado es beneficioso en términos del tamaño de la imagen, ya que permite tener una imagen más pequeña en comparación con la segunda opción. También proporciona la ventaja de utilizar una imagen preconfigurada, lo que reduce la configuración requerida para el contenedor.
    2. El uso de la opción --self-contained permite una mayor flexibilidad en términos del sistema operativo y la arquitectura de destino, ya que no depende de que el tiempo de ejecución de .NET Core esté instalado en la máquina de destino. Esta opción puede ser preferible si el entorno de destino no es muy conocido o si hay problemas de compatibilidad con el tiempo de ejecución de .NET Core en la máquina de destino. Sin embargo, esta opción puede dar lugar a un tamaño de imagen más grande y a tiempos de implementación más largos.

    En general, la elección entre las dos opciones dependerá de los requisitos específicos y preferencias del proyecto y su entorno de implementación.

Comments are closed.