Je suis un peu dérouté par toutes les discussions sur Docker et son intégration au monde de la virtualisation. Voici donc une question directe: puis-je configurer une application .Net (qui s'exécute normalement sous Windows 7, etc.) pour qu'elle s'exécute dans un conteneur Docker, puis l'exécuter sur «tout» hôte prenant en charge Docker?
TIA.
Pas aujourd'hui. À l'avenir, Microsoft et Docker ont annoncé que vous disposerez d'une version Windows de Docker.
Edit: informations plus récentes
Notez que la plate-forme de base et le système d’exploitation doivent correspondre - c’est-à-dire qu’aujourd’hui, vous pouvez exécuter les conteneurs ARM Linux sur les conteneurs ARM Linux et x64 sous Linux x64, mais vous ne pouvez pas mélanger et faire correspondre. Lorsque Windows est ajouté, le modèle sera le même: vous pourrez exécuter des conteneurs Windows sous Windows, mais pas sous Linux. Non sans une couche supplémentaire de virtualisation (telle que VirtualBox, VMWare, etc.).
Edit: respect pour le Wine answer, que je n'avais pas envisagé. Cela correspond en quelque sorte à "une couche supplémentaire de virtualisation", mais au niveau de l'API du système d'exploitation, pas au niveau du matériel. Et un peu limité dans la portée des programmes .Net pris en charge.
De même, vous pourrez peut-être exécuter votre code .Net dans Docker à l’aide de Mono .
Docker repose sur Linux. Le seul moyen d’exécuter l’application .Net dans Docker consiste à utiliser Mono pour Linux.
Oui, si vous installez wine et .NET, voici un exemple d'un tel fichier Dockerfile
https://registry.hub.docker.com/u/justmoon/wix/dockerfile/
extrait
# Install .NET Framework 4.0
RUN vin wineboot & & xvfb-run winetricks - corefonts dotnet40 sans surveillance
Cette question est peut-être très dépassée, mais je pense que cela nécessite une mise à jour. Oui, vous pouvez utiliser Docker avec le noyau .net/.net et serez pleinement compatible avec Visual Studio 2017.
https://channel9.msdn.com/Events/Connect/2016/172
Il n'est pas nécessaire d'utiliser WINE ou Mono.
Un peu tard, mais quand même si cela peut aider quelqu'un ..__ Oui, nous pouvons exécuter des applications .Net sur Docker car le menu fixe est maintenant pris en charge avec Windows de manière native. Mais vous devez d’abord vérifier votre version de Windows, votre version de Windows doit être 14393.233 ou supérieure. Téléchargez Docker 1.13.0 ou une version ultérieure, puis exécutez facilement une application .Net. Ce référentiel Décrit l'exécution d'un exemple d'application .Net.
voici l'exemple de fichier docker pour exécuter l'application .net 4.5
FROM Microsoft/iis
RUN ["powershell.exe", "Install-WindowsFeature NET-Framework-45-ASPNET"]
RUN ["powershell.exe", "Install-WindowsFeature Web-Asp-Net45"]
ADD publisedDir/ c:\\website
EXPOSE 8081
RUN powershell New-Website -Name 'websiteName' -Port 8081 -PhysicalPath 'c:\website' -ApplicationPool '.NET v4.5'
ENTRYPOINT powershell