1
votes

Impossible de déployer le conteneur Windows sur Azure Web App pour le conteneur à partir de DockerHub

Je vérifie la documentation ici sur le déploiement du conteneur Windows (en préversion) dans Azure Web App pour les conteneurs.

Il semble également que le document soit à la traîne (car il semble évoluer rapidement et cela est en préversion). Par exemple. Dans le étapes 5 du déploiement du conteneur Windows les instructions ne parlent pas du fichier de démarrage comme indiqué ci-dessous. Aucune documentation si cela est même obligatoire ou peut être laissé vide?

entrez la description de l'image ici

Je vois une erreur sur ce panneau en bas lors de la tentative de déploiement le conteneur de l'image hébergée dans le dépôt public de Docker Hub.

 entrez la description de l'image ici

Comment corriger l'erreur que j'obtiens?

Le message d'erreur est : impossible d'exécuter ce système d'exploitation / cette version dans Conteneurs Windows. La version maximale du système d'exploitation prise en charge est 10.0.14393.9999.

Voici mon docker.yml que j'ai ajouté depuis VS 2017 en ajoutant "le support d'orchestration de conteneur".

version: '3.4'

services:
  webformapp:
    image: ${DOCKER_REGISTRY-}webformapp
    build:
      context: .\WebFormApp
      dockerfile: Dockerfile

Et voici le docker-compose. yml

FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .


0 commentaires

3 Réponses :


0
votes

Vous utilisez 1803 comme version de base du système d'exploitation pour le conteneur, mais l'erreur mentionne 10.0.14393.9999 , qui correspond à 1607 ( https://en.wikipedia.org/wiki/Windows_10_version_history ). Vous devez donc utiliser une autre image de base. Essayez cette base: 4.7.2-windowsservercore-ltsc2016


0 commentaires

0
votes

Clause de non-responsabilité: la réponse n'est pas spécifique à Azure Web App, alors traitez-la avec prudence.

Cependant, j'ai eu pas mal de problèmes avec l'hébergement de conteneurs Windows. Cela ressemble beaucoup à un problème que j'ai eu auparavant - en gros, la couche de virtualisation entre Docker et Windows est très mince, donc la version Windows entre l'hôte et le conteneur doit être alignée.

Vous devez soit faire correspondre la version du conteneur avec la version Windows (c'est-à-dire construire à partir d'une image de base différente), soit utiliser le mode de virtualisation hyper-v dans le docker run pour gérer la différence. Je ne sais pas si la seconde est même possible dans Azure Web Apps.

Voir ici pour plus de détails:

Documentation Microsoft


5 commentaires

la seconde n'est pas possible


Bon à confirmer


BTW, je déploie sur une "Web App for Container" PaaS et la version de l'image est sélectionnée par VS 2017 ... alors ne devrait-il pas fonctionner (même en aperçu)? J'ai décidé de rester à l'écart du conteneur Windows jusqu'à ce qu'il soit en mode GA, car je ne peux pas me permettre de lire entre les lignes - en particulier lorsque j'utilise des solutions PaaS.


D'accord sur le principe Andy ... si seulement :). Je dirais généralement que les conteneurs Windows semblent être le `` parent pauvre '' de Linux - il semble y avoir beaucoup de fonctionnalités non prises en charge, de problèmes cachés, etc.


Nous sommes d'accord et, comme Joaquin le mentionne dans sa réponse, nous travaillons à l'amélioration de la capacité. Pour l'instant, comme indiqué dans notre documentation ( docs.microsoft.com/azure/app-service/... ), vous devez spécifier soit l'image multi-arch de l'équipe asp.net, soit une image ltsc2016. Visual Studio utilise par défaut tout ce que votre ordinateur local est capable d'exécuter. Merci pour les commentaires, c'est noté.



1
votes

Actuellement, nous ne prenons en charge que les images Windows Server 2016 RS1, mais nous déployons une mise à jour dans laquelle nous pourrons exécuter toutes les images de base de conteneurs Windows de RS1 à RS5. Je n'ai pas de date exacte, mais nous devrions avoir terminé d'ici la fin du mois de mars.

Pour l'instant, veuillez changer votre image de base en: microsoft / aspnet: 4.7.2-windowsservercore-ltsc2016

Une fois la mise à jour terminée, veuillez essayer: microsoft / aspnet: 4.7.2-windowsservercore-ltsc2019

ltsc2019 est plus petit, vous remarquerez donc que l'application Web démarrera plus rapidement

Pour plus d'informations: https://hub.docker.com/_/microsoft-dotnet-framework- aspnet

Merci,

Joaquín


0 commentaires