web-dev-qa-db-fra.com

Mac OS X peut-il être exécuté dans Docker?

Mac OS X peut-il être exécuté dans Docker? Si oui, avez-vous une suggestion à faire?

Et fonctionnerait-il sans tête, ou serait-il possible de se connecter à l'interface graphique à distance?

Merci,

Simone

105
simone

Docker fournit des méthodes de gestion des conteneurs au niveau du système d'exploitation et s'appuie sur les fonctionnalités natives de Linux pour la conteneurisation au niveau du système d'exploitation. Tous les conteneurs fonctionnant sur un système partagent le même noyau; Mac OS X n'utilise pas le noyau Linux, mais plutôt un noyau mach, il ne peut donc pas être exécuté à l'intérieur d'un conteneur Docker pour le moment.

Vous pouvez exécuter Docker on votre Mac à l'aide d'une machine virtuelle, mais les conteneurs exécutés sur cette instance devront exécuter Linux.

Maintenant que Docker utilise libcontainer plutôt que LXC comme base, il est possible que le portage de libcontainer à l'avenir puisse un jour permettre l'exécution de conteneurs Docker Windows et Mac OS sur ces systèmes respectivement, mais cela dépendra des fonctionnalités du système d'exploitation disponibles pour permettre la conteneurisation.

59
phoebus

Exécuter un OSX VM dans un conteneur Docker est possible. Jetez un œil à https://github.com/Cleafy/sxkdvm par exemple.

30

Si vous souhaitez exécuter macOS directement dans Docker, la réponse est non , voir @ phoebus answer .

Si vous en avez vraiment besoin, consultez answer de @Andrea Brancaleon qui suggère d'installer macOS à l'intérieur VM à l'intérieur de Docker).

Mais si vous vous demandez si la solution ci-dessus est possible selon la licence de macOS, la réponse est à nouveau no * .

Citation contrat de licence du logiciel pour macOS Catalina , section 2, point B:

[...] you are granted a limited, non-transferable, non-exclusive license: [...]
(iii) to install, use and run up to two (2) additional copies or instances of the Apple Software
within virtual operating system environments on each Mac Computer you own or control that is
already running the Apple Software, for purposes of: (a) software development; (b) testing during
software development; (c) using macOS Server; or (d) personal, non-commercial use.

C'est la même chose pour les anciennes versions de macOS.


* sauf si vous allez exécuter macOS dans une machine virtuelle dans un conteneur Linux Docker dans une machine virtuelle Linux sur le système hôte macOS sur le matériel Mac

4
cubuspl42