Où que je cherche, je ne trouve pas de ressources sur la façon de faire fonctionner le Docker sur un appareil iOS.
iOS est-il un système d'exploitation valide pour Docker ?
Où que je cherche, je ne trouve pas de ressources sur la façon de faire fonctionner le Docker sur un appareil iOS.
iOS est-il un système d'exploitation valide pour Docker ?
Docker est un outil d'automatisation qui facilite le déploiement d'applications à l'aide de la fonctionnalité Linux appelée "conteneurs Linux". Docker ne fournit ni environnement de virtualisation ni environnement d'émulation. À ce jour, l'exécution des conteneurs Docker nécessite l'utilisation de Linux (la prise en charge d'autres systèmes d'exploitation, comme Oracle Solaris et Windows Server, est en phase de développement).
Docker pour Mac et Docker pour Windows sont des produits distincts qui exécutent une machine virtuelle Linux dans le système d'exploitation hôte et fournissent des conteneurs dans cette machine.
Il n'existe aucun moyen d'exécuter une machine virtuelle Linux dans iOS, qui ne peut donc pas être un "hôte pour Docker".
Outre le système d'exploitation, même si vous exécutez Linux sur iOS, vous devrez également prendre en compte le processeur (c'est également vrai pour le Raspberry Pi recommandé dans les commentaires sous l'autre réponse). La plupart des images Docker disponibles utilisent des paquets binaires pour les architectures Intel/AMD, et non ARM, ce qui limite les cas d'utilisation par rapport à l'exécution sur MacBook.
En fait, vous peut Linux sur iOS et donc vous peut exécuter Docker. Il y a une application appelée UTM avec laquelle j'ai récemment travaillé et j'ai été assez surpris par ce que j'ai pu faire sur mon iPad Pro 11 2nd Gen.
L'application ne nécessite PAS de jailbreaking. Dans iOS 11-13, il suffit de la charger latéralement car elle n'est pas une application de l'appstore (ce qui n'est pas surprenant). Sous iOS 14, Apple a corrigé l'astuce utilisée pour faire fonctionner le JIT. Par conséquent, la meilleure solution suivante est beaucoup plus complexe. Vous pouvez trouver ces instructions aquí . Mais même dans ce cas, vous n'avez pas besoin de Jailbreak l'appareil. Pour ce qui est de la raison pour laquelle il n'est pas seulement dans l'appstore, selon les développeurs d'UTM :
Apple n'autorise pas les applications qui interprètent ou génèrent du code, il est donc peu probable que l'UTM soit un jour autorisé. Cependant, il existe plusieurs moyens sur Internet pour charger des applications de manière latérale sans nécessiter un Jailbreak. Nous n'approuvons ni ne soutenons aucune de ces méthodes.
Il s'agit de faire exactement la même chose que Docker Desktop pour les images multi-archives pour Windows et Mac OS - en utilisant LinuxKit, buildx et qemu. Cependant, il s'agit d'une application Open Source, vous pouvez donc consulter le code pour vous assurer qu'il est sûr et construire l'application vous-même. Le site de l'application est le suivant getutm.app . La source est sur GitHub dans utmapp/UTM .
Le readme dans le dépôt ainsi que les informations sur le site sont détaillés et faciles à suivre. Il y a plusieurs VMs pré-construites disponibles aquí pour plusieurs versions différentes de Linux :
Il existe également des images préconstruites pour Android (v2.2, v4.4 et v9.0) ainsi que pour ReactOS (v0.4.14), mais ceci est spécifique à Docker, c'est donc sur les versions Linux que je me concentre.
Une fois que vous avez installé UTM et ajouté votre machine Linux (préconstruite ou en créant votre propre image - détails dans le fichier readme.md dans le dépôt ci-dessus), suivez simplement les instructions. aquí
Je suppose cependant qu'il ne faudra pas attendre longtemps avant qu'il y ait une version de Docker Desktop pour iOS, car il s'agit juste d'un build avec le débogueur XCode attaché (comme pour MacOS). Comme Docker Desktop est disponible pour Windows et Mac, vous pourriez simplement utiliser une vm Windows (Windows 10 pour ARM fonctionne bien, d'ailleurs). Et il n'est pas juste Windows RT à demander à nouveau ! Il s'agit d'une installation complète de Windows 10 qui peut exécuter des applications x86, ARM32 et ARM64. Il est possible d'installer Docket à l'intérieur de l'application UTM exécutant Windows 10 pour ARM et le Docker Desktop pour Windows, de sorte que non seulement Docket soit disponible dans l'appareil iOS, mais que vous puissiez construire différentes images à partir de là et effectuer votre construction et votre déploiement Docker à l'intérieur de celui-ci. Mais si vous êtes plus à l'aise sous Linux, voici comment procéder. J'espère que cela aidera quelqu'un.
IOS serait un très mauvais choix pour l'utilisation de Docker. Si l'on met de côté le fait que le code doit être signé pour être exécuté sur iOS, ces considérations générales sur la conception posent des problèmes pour la mise en œuvre de Docker sur iOS :
La conception d'iOS rend difficile l'exécution de tâches de serveur persistantes et, en fin de compte, ne serait-il pas logique d'exécuter docker sur un essaim de raspberry pi en réseau et d'orchestrer l'installation et la configuration à partir d'iOS ?
C'est pour cela que je cours rapide et ssh dans des hôtes Linux ou Mac pour configurer des instances docker et les contrôler.
Depuis iOS 13, le système d'exploitation a spécifiquement désactivé la création de régions exécutables de la mémoire et le lancement de sous-processus pour les applications tierces. Cela rend des applications telles que Docker quelque peu impossibles sur le plan technique.
À moins que la solution ne nécessite un jailbreaking, qui à son tour fragilise et crée d'autres risques de sécurité.
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.