Machine: Docker Machine est maintenant en mode maintenance

Créé le 13 juil. 2018  ·  65Commentaires  ·  Source: docker/machine

Comme cela a été évident depuis un certain temps, nous avons lentement arrêté d'implémenter ou d'accepter de nouvelles fonctionnalités pour le projet. Son utilisation de bureau a principalement été supplantée par notre produit Docker Desktop . Le provisionnement sur une variété de fournisseurs de cloud est globalement mieux réalisé avec infrakit . Dans l'ensemble, poursuivre le développement actif du projet n'a plus de sens à ce stade, c'est pourquoi nous fermons officiellement le robinet pour les modifications sans correction de bogues, à partir d'aujourd'hui.

Je suis sûr que beaucoup voudront intervenir à ce sujet, veuillez garder la discussion civile et la garder dans ce fil afin que nous puissions garder les choses gérables.

Commentaire le plus utile

Je vous demanderais également de mettre à jour le readme.md

Tous les 65 commentaires

Oh :(

Eh bien, c'était bien tant que ça durait :)
Merci à tous pour le bon travail!

Je vous demanderais également de mettre à jour le readme.md

Si le soutien officiel de la machine se ferme, quelle est la probabilité d'un soutien continu de la communauté dans ce repo?

pour ceux d'entre vous qui ont besoin d'une machine, il y a une certaine activité dans l'organisation https://github.com/machine-drivers , et il peut être judicieux pour vous de travailler et de sortir de https://github.com/machine- pilotes / machine ...

Nous avons déjà examiné l'ajout de correctifs à cette organisation, car ils semblent ne pas être fusionnés ici: # 4509 (Ceci bloque pour les versions localisées de Windows). Le mieux est d'aller de l'avant avec une forme de version, mais pour nous: minikube et minishift, nous n'avons besoin que de lier une bibliothèque.

@ shin- En guise de réflexion, le nouvel utilisateur de la documentation "Getting Started" utilise toujours docker-machine comme partie centrale de l'intro.

Pour les personnes intéressées par la mise à jour des documents, lesquelles devraient-elles plutôt guider les gens?

Je pense que c'est vraiment dommage. La vraie puissance de la machine se situait quelque part entre la simplicité de faire fonctionner les choses sur une seule machine en utilisant Desktop et la complexité derrière infrakit . machine était parfaite pour allumer quelques machines pour tester des charges de travail distribuées à plus petite échelle.

Salut!

Quelqu'un a-t-il un logiciel alternatif pour Linux? Je ne veux pas exécuter docker en tant que root sur ma machine hôte et docker-machine offrait une certaine isolation à cet égard. Existe-t-il un plan pour Docker pour Linux?

Merci!

@gilbsgilbs Vous pouvez toujours utiliser docker-machine comme vous le faites actuellement!

@ shin- Merci pour votre suggestion. Je démarre un nouveau projet, donc utiliser docker-machine pour ce serait un geste étrange, n'est-ce pas?

@ shin- Weelll ... être fermé aux moyens de PR de l'utiliser pour de nouveaux projets est probablement une mauvaise idée. :clin d'œil:

@justinclift Je ne veux pas entrer trop dans les détails car nous avons plus d'informations dans une déclaration préparée, mais comme j'ai essayé de le dire dans le message original, le projet n'est pas fermé aux PR; nous cherchons simplement à les limiter aux corrections de bogues par opposition aux nouvelles fonctionnalités. Si l'ensemble de fonctionnalités de l'itération actuelle de docker-machine répond à vos besoins, il n'y a aucune raison de l'abandonner, même pour de nouveaux projets.

Il semble qu'infrakit ne soit pas actif non plus. Il n'y a eu aucune version depuis plus d'un an, aucune mise à jour sur DockerCon 2018, aucune documentation utilisateur similaire à https://docs.docker.com/machine/

La documentation de la machine Docker suggère d'essayer Docker Cloud qui à son tour s'arrête au profit de Docker EE (qui n'est généralement pas disponible)

Tout cela encourage à bifurquer le projet ou à chercher ailleurs: https://landscape.cncf.io/grouping=landscape&landscape=infrastructure-automation&sort=first-commit

Je ne me plains pas, je décris simplement mon point de vue.

Intéressant. En regardant l'histoire pour commettre InfraKit , même si elle ne reçoit de nouveaux commits tous les quelques jours, il semble surtout être un unipersonnelle effort.

L'activité semble s'être tarie vers avril / mai . Deviner le temps des gens était redirigé vers d'autres choses.

Est-ce une mauvaise façon de voir les choses?

@ shin- mais beaucoup de PR (comme les corrections de bogues que je fournis pour faire fonctionner l'internationalisation sur Hyper-V) n'ont pas été prises pour fusion. Ce n'est pas une bonne indication de "nous cherchons simplement à les limiter à des corrections de bogues plutôt qu'à de nouvelles fonctionnalités" étant donné "qu'il n'y a aucune raison de l'abandonner, même pour de nouveaux projets".

@tibia-

Je ne veux pas entrer trop dans les détails, car nous avons plus d'informations dans une déclaration préparée

Pourriez-vous créer un lien vers cette déclaration officielle (chaque fois qu'elle est publiée?) Je ne la trouve pas.

Je recommande fortement de changer les documents afin qu'ils soient à jour .
Ma dernière heure a été une exploration insensée de boot2docker, qui indique clairement la machine docker, qui a un avertissement sur sa page principale conseillant d'utiliser le cloud docker comme une technologie à jour. Cela pointe vers la description de la documentation sur le cloud Docker (pas la page de migration !!!!), qui m'a obligé à rechercher sur Google pour savoir qu'elle avait été interrompue en mai (mais annoncée en mars, donc il y a 7 mois). Maintenant venu ici pour suggérer de supprimer l'avertissement du document de la machine docker, je découvre que dans ce problème vieux de 3 mois, la machine docker est également interrompue.
Ce n'est tout simplement pas ainsi que la documentation devrait fonctionner. Je reviendrai à une solution ad hoc, mais j'abandonnerais docker si je ne l'utilisais pas déjà.

@aliceminotto Cela nous aiderait tous à mettre à jour les documents obsolètes si vous pouviez pointer vers les sites ou les pages dont vous parlez.

docker-machine ne disparaît pas, il n'augmente tout simplement pas la portée des fonctionnalités.

Docker Cloud ne disparaît pas, il n'est tout simplement plus utilisé pour l'approvisionnement / la gestion des serveurs. Il est toujours là pour la construction d'image. Docker dispose d'autres outils pour les serveurs de production tels que Docker pour AWS , Docker pour Azure et DCI pour Docker Enterprise.

J'avais complètement oublié l'ancien site Web http://boot2docker.io et je n'avais pas réalisé que l'avis était rédigé si mal (excuses pour toute confusion qui a contribué à!) - J'ai maintenant mis à jour (et réduit) que contenu pour mieux clarifier, espérons-le, que boot2docker, l'ancien outil CLI, est ce qui était obsolète en faveur de Docker Machine et que boot2docker la distribution n'est pas obsolète mais est plutôt en mode maintenance (identique à Docker Machine).

Pour dire les choses autrement: de nouvelles versions de Docker, des mises à jour du noyau, etc., mais des tentatives concertées pour maintenir les nouvelles fonctionnalités / fonctionnalités à un minimum absolu pour assurer une maintenabilité continue pour les quelques personnes qui ne peuvent pas encore passer au Docker mieux adapté pour Windows / Produits Docker pour Mac ou les outils / solutions du serveur de production référencés ci-dessus (utilisateurs de Windows 7 qui ne peuvent pas du tout Docker pour Windows, utilisateurs de Windows 10 Home qui ne peuvent donc pas Hyper-V, utilisateurs de VirtualBox qui ne peuvent donc pas Hyper- V, etc. etc.).

@tianon : vous voudrez peut-être également mentionner les utilisateurs Linux qui ne souhaitent pas passer à Mac ou Windows ...

@afbjorklund Pourquoi avez-vous besoin de boot2docker si vous utilisez déjà Linux?

@Vanuan : soit parce que votre distribution était trop ancienne (par exemple RHEL6), soit parce que vous n'étiez pas autorisé à root ...

Dans tous les cas, la transition vers Docker Desktop n'est _pas_ une option - c'est soit Docker Engine ou DIY LinuxKit?

Je voudrais remercier les fabricants de docker-machine et boot2docker, pour avoir rendu docker plus accessible.

Et avec l'effort des pilotes de

Pourquoi utiliser une distribution de serveur pour le bureau? Et pourquoi je ne suis pas administrateur de mon bureau? Mais d'une manière ou d'une autre, je suis autorisé à accéder à KVM?

Il semble que vous cherchez une solution pour exécuter docker sur un serveur KVM? Si tel est le cas, j'explore actuellement infrakit ici: https://github.com/docker/infrakit/issues/913

Mais si vous cherchez uniquement à exécuter docker sur le bureau Linux, je ne comprends pas pourquoi vous n'installez pas le dernier Ubuntu avec Docker CE. Si vous souhaitez l'exécuter dans VM, faites-le. Vous pouvez monter votre répertoire personnel dans VirtualBox et utiliser docker sur SSH. Quel est le problème ici? Il n'y a pas de Docker pour Linux Desktop car cela n'a pas de sens. Au moins pour moi.

Pourquoi utiliser une distribution de serveur pour le bureau? Et pourquoi je ne suis pas administrateur de mon bureau? Mais d'une manière ou d'une autre, je suis autorisé à accéder à KVM?

Certaines personnes doivent utiliser le système d'exploitation de bureau que leur employeur leur donne. RHEL6 est un exemple dont j'ai (il y a quelques mois) entendu parler d'un gars travaillant dans une bourse. :clin d'œil:

En règle générale, avec Libvirt, il a (du moins l'habitude) un concept de VM que les utilisateurs pourraient exécuter dans leur compte, ce serait juste pour eux. par exemple non accessible à d'autres personnes connectées à la même machine

Je ne sais pas si cela a déjà été développé en profondeur, car la plupart des efforts de développement de Libvirt sont allés vers des choses VM "au niveau du système" au lieu du niveau utilisateur.

si vous cherchez uniquement à exécuter docker sur le bureau Linux, je ne comprends pas pourquoi n'installeriez-vous pas le dernier Ubuntu

De nombreuses personnes n'aiment pas Ubuntu pour une raison ou une autre. :clin d'œil:

À partir de la v18.09 ( DOCKER_HOST=ssh:// ), configurer des machines Docker distantes sans docker-machine est vraiment trivial: https://medium.com/lucjuggery/docker-tips-access-the-docker- démon-via-ssh-97cd6b44a53

En règle générale, avec Libvirt, il a (du moins l'habitude) un concept de VM que les utilisateurs pourraient exécuter dans leur compte, ce serait juste pour eux. par exemple non accessible à d'autres personnes connectées à la même machine

Oui, ça s'appelle
Le dernier GNOME a même une belle application pour cela - Boîtes: https://en.wikipedia.org/wiki/GNOME_Boxes

La virtualisation KVM en mode utilisateur présente certains inconvénients pour la mise en réseau. Je pense donc que Virtualbox est le seul choix dans ces conditions.

Et pour avoir CLI pour VirtualBox, le choix est vagabond. Vous n'avez besoin que d'une distribution Linux pour exécuter docker par-dessus. Et le plus testé au combat est Ubuntu / Debian. Vous pouvez cependant télécharger n'importe quelle autre distribution. Mais vous devez le conditionner vous-même pour l'utiliser avec Vagrant: https://www.vagrantup.com/docs/virtualbox/boxes.html

Dire simplement que docker-machine était une bonne solution pour ces utilisateurs Linux, tout comme pour les utilisateurs de l'ancien Mac et de l'ancien Windows ... Tout ce dont il avait besoin était d'exécuter docker sur un port non standard, au lieu de codé en dur 2376? Et un nouveau pilote qemu qui ne nécessitait pas le groupe libvirt (c'est-à-dire root). Peut-être qu'infrakit / hyperkit sera une alternative dans le futur, mais pour le moment (le lien ci-dessus), il semble encore assez rude sur les bords.

@Vanuan : Je connais les options ubuntu / vagrant, je l'ai simplement appelé " Docker Engine " ci-dessus.

@justinclift : chaque utilisateur obtient ses propres clés ssh / certificats docker, donc les machines sont raisonnablement séparées.

@afbjorklund Pas de soucis. Cela fait des années que je travaille chez Red Hat dans l'équipe Libvirt. Ces jours-ci, je l'utilise généralement pour diagnostiquer des problèmes, plutôt que d'être toujours très en profondeur avec lui. :sourire:

@afbjorklund Clarifions cela.

vous pouvez également mentionner les utilisateurs Linux qui ne souhaitent pas passer à Mac ou Windows ...
Quoi qu'il en soit, la transition vers Docker Desktop n'est pas une option - c'est soit Docker Engine ou DIY LinuxKit?
Je connais les options ubuntu / vagrant, je l'ai simplement appelé "Docker Engine" ci-dessus.

boot2docker est à la fois la distribution ( boot2docker.iso ) et l'outil de gestion de virtualbox ( boot2docker-cli ). boot2docker.iso inclut Docker CE (ancien Docker Engine):

https://github.com/boot2docker/boot2docker/blob/d465167d83310295b5847ba315905f52c3ca1435/Dockerfile#L426 -L435

Et cela restera mis à jour avec les nouvelles versions de Docker CE.

Le boot2docker-cli est parti, mais il s'agit essentiellement d'un vagabond avec virtualbox. Vagrant est toujours là.

Docker-machine avec pilote KVM utilise boot2docker.iso pour provisionner _Docker CE_ aux nouvelles machines virtuelles libvirt .

Docker Desktop utilise des distributions créées avec


Pour tout imaginer:
infrastructure


Donc, comme vous pouvez le voir, toutes les solutions incluent Docker Engine (actuellement appelé Docker CE pour Linux ) d'une manière sur une autre.

Il y a tout simplement trop d'environnements et de solutions de virtualisation / cloud. Par conséquent, il n'y a pas un seul outil qui puisse fonctionner aussi bien sur windows / mac / linux et prendre en charge QEMU / Virtualbox / xhyve / Hyper-v avec différents clouds et le provisionnement over-SSH. Et un tel outil a également besoin de configurabilité: prise en charge de différents ports, gestion des ressources mémoire / cpu, mise en réseau, etc. Donc, probablement un outil à usage général avec un fichier de configuration téléchargé sur http serait probablement la meilleure solution.

@Vanuan : oui, c'est ce que nous avons dit ci-dessus. Afin de remplacer docker-machine, vous devez passer à Mac ou Windows et Docker Desktop - au moins jusqu'à ce que _quelqu'un_ crée quelque chose de similaire avec LinuxKit et libvirt ...

Nous n'avons plus besoin de parler de boot2docker-cli, et le support des pilotes Linux a déjà été déplacé vers l'organisation "machine-drivers" - car seul VirtualBox est disponible avec le docker-machine standard.

@ shin- Si vous n'autorisez plus les nouvelles fonctionnalités, pensez à ajouter une note très claire en haut de README.md AND CONTRIBUTING.md .

C'est assez ennuyeux de lire attentivement ces deux fichiers, d'implémenter un pilote (plusieurs jours de travail) et de ne pas se rendre compte que vous ne fusionnerez plus jamais de pilote. Cela devrait être beaucoup plus clair.

Si tout cela est un malentendu et que je suis toujours autorisé à retirer la demande de mon chauffeur, veuillez nous en informer. C'est juste que pour le moment, il n'est mentionné que dans un fichier caché que les gens verront une fois qu'ils auront créé la pull request.

Il n'y a toujours pas d'informations claires sur le mode de maintenance dans README.md et / ou CONTRIBUTING.md . J'ai passé la moitié de mes vacances à trouver une solution de travail pour la création de VM ProxmoxVE et le déploiement léger de Linux pour Docker - j'ai trouvé une combinaison de docker-machine + docker-machine-driver-proxmox-ve pour fonctionner assez bien pour cette utilisation Cas. Malheureusement, il s'appuie sur boot2docker, qui dit qu'il est obsolète au profit de docker-machine et que le responsable de certains threads suggère Rancher OS. docker-machine passer en mode maintenance sans définir clairement ce que cela signifie (dire que seules les corrections de bogues seraient acceptées et suggérer que c'est bien pour les nouveaux projets est IMO en contradiction). Une annonce officielle a également été mentionnée en août 2018, mais aucun signe de référence ici.

Du point de vue extérieur, qui veulent construire une infrastructure raisonnable pour les PME, docker-machine ne ressemble pas à une solution à long terme correcte. N'importe qui peut suggérer ce qui serait Reasonably Good ™ pour provisionner et gérer ProxmoxVE VM en tant qu'hyperviseur et Linux minimal supportant Docker?

Malheureusement, il s'appuie sur boot2docker, qui dit qu'il est obsolète au profit de docker-machine et le mainteneur sur certains threads suggèrent Rancher OS.

Pouvez-vous s'il vous plaît être plus précis sur l'endroit où boot2docker prétend être obsolète en faveur de docker-machine afin que je puisse clarifier cela de manière appropriée? (parce que ce n'est pas vrai sauf si vous faites référence très spécifiquement à l'ancien outil CLI boot2docker qui n'a pas été activement maintenu depuis des années maintenant)

La distribution boot2docker (en particulier, l'artefact boot2docker.iso publié avec chaque nouvelle version de Docker CE) ne disparaîtra pas de sitôt que je sache, bien qu'elle ait un objectif très étroit maintenant (et par conséquent, les nouvelles fonctionnalités / fonctionnalités ne seront probablement pas prises en compte pour la fusion).

@tianon Vous avez raison, je suis désolé pour la confusion. Le message sur le site Web dit boot2docker CLI - à première vue, il n'était pas clair pour moi s'il y avait une différence. Je suis presque sûr que les autres utilisateurs peuvent également être confus, car vous serez probablement confronté à boot2docker.iso . boot2docker CLI est quelque chose dont vous n'avez jamais entendu parler, il est difficile de dire quelle est la relation entre les projets. OTOH boot2docker.iso statement "maintenance mode" est vague de la même manière que docker-machine , ce que je conclus sur la base de cette réponse .

Pour résumer la confusion:

  1. "maintenance mode" - ce n'est pas clair dans les deux projets, puis-je l'utiliser pour la production dans les petites entreprises?
  2. les deux projets principaux développeurs / mainteneurs suggèrent l'utilisation d'autres projets qui ne semblent pas couvrir tous les cas d'utilisation précédemment pris en charge

Idéalement, ce serait d'avoir une déclaration claire de @tianon et @ shin - si l'utilisation de docker-machine convient à la production?

Je ne peux pas parler pour Docker Machine, mais boot2docker n'a jamais été un bon choix pour la production; sa cible est le développement / l'utilisation du poste de travail personnel.

Voir également les notes ajoutées sur https://github.com/boot2docker/boot2docker#readme , où j'ai essayé de clarifier à la fois ce que nous entendons par mode de maintenance et que b2d n'est ni destiné ni recommandé pour les charges de travail de production.

Comme beaucoup d'autres, j'étais frustré d'apprendre cela à partir de problèmes Github, après avoir déployé des efforts pour utiliser la machine pour un client SMB

J'ai créé un PR pour mettre à jour la documentation officielle, en ajoutant un avis sur le mode de maintenance de la machine.

Voir https://github.com/docker/docker.github.io/pull/9239

Ce serait bien de changer le docker pour démarrer aussi https://docs.docker.com/get-started/part4/

edit: Nous avons trouvé une solution qui consiste à installer docker-ce sur l'instance aws ec2, puis à transférer le port ssh au démon docker.

ssh -NL localhost:23750:/var/run/docker.sock -i ***.pem ubuntu@***.compute.amazonaws.com
docker -H tcp://localhost:23750 run hello-world

🎉

J'ai récemment commencé à utiliser docker-machine car il était installé avec Docker Desktop et j'ai réalisé que je pourrais faire fonctionner docker sur des instances aws bien plus puissantes que ma machine locale. La beauté est que les applications locales qui utilisent des commandes docker, comme Visual Studio Code, peuvent fonctionner avec des conteneurs docker-machine comme si elles s'exécutaient localement.

Il me semble que docker-machine n'a pas été remplacé, au même titre qu'il existe de nombreuses nouvelles façons de provisionner des clusters, notamment infrakit, kubernetes, etc.

Je pourrais me tromper. Existe-t-il une stratégie de migration pour faire ce que j'ai décrit ci-dessus?

Nous utilisons GitLab, avec leur outil GitLab Runner pour provisionner dynamiquement des instances EC2 Spot pour exécuter des tâches CI / CD. GitLab Runner utilise Docker Machine pour effectuer ce provisionnement de machine.

Nous avons décidé de déplacer tous les services d'Ubuntu (gonflé) en faveur d'Amazon Linux 2. À mon grand plaisir, PR # 3609 le permettrait.

Cependant, à cause de cette "fermeture du robinet", # 3609 semble mourir sur place. Veuillez envisager de le fusionner, dans son état actuel non conflictuel et fusionnable.

Puisque les gars de Gitlab maintiennent déjà un fork, peut-être qu'ils pourraient être intéressés à s'occuper de ce repo?

@ usha-mandya @ Dawn-Wood une mise à jour sur docker / docker.github.io # 9239? Pour rappel, il ajoute des avertissements sur toutes les pages de Docker Machine. Cela a été fusionné, puis annulé pendant la scission de l'entreprise afin que vous puissiez tous prendre des décisions sur l'avenir du DM. Ce serait bien d'avoir cet avertissement si DM continue d'être en mode maintenance

AFAIK, la dernière version de Docker Desktop n'inclut plus docker-machine

AFAIK, la dernière version de Docker Desktop n'inclut plus docker-machine

Je viens d'apprendre ce problème de cette façon, car notre outil interne de docker-machine a cessé de fonctionner après la mise à jour vers docker pour le bureau 2.2.0.0

C'est un peu irritant que ce mouvement ne soit pas non plus mentionné dans le menu fixe pour les notes de version de bureau.

Nous utilisons fortement docker-machine pour gérer et maintenir des machines docker partagées basées sur booot2docker pour les environnements DEV internes et de staging à l'aide du pilote Hyper-V (nous fournissons donc des machines virtuelles hyper-v boot2docker en utilisant docker-machine). Ainsi, même si nous avons des clients linux et mac et que nous utilisons donc docker pour windows / os x, nous nous appuyons toujours fortement sur docker-machine pour nos trucs CI / CD.

Je n'ai connaissance d'aucun remplacement similaire pour cette configuration - est-ce que je manque quelque chose d'évident ici?

Vous pouvez toujours télécharger le dernier binaire avec brew (macOS) et directement
du repo. Il est toujours maintenu (correctifs) mais lentement
suppression progressive d'outils tels que Docker Desktop.
https://github.com/docker/machine/releases

Le lundi 27 janvier 2020 à 11:47, sambernet [email protected] a écrit:

AFAIK, la dernière version de Docker Desktop n'inclut plus
machine-docker

AFAIK, la dernière version de Docker Desktop n'inclut plus
machine-docker

Je viens d'apprendre ce problème de cette façon, car notre docker-machine interne
l'outillage a cessé de fonctionner après la mise à jour vers docker pour bureau 2.2.0.0

C'est un peu irritant que ce mouvement ne soit pas mentionné dans le docker pour
les notes de version de bureau non plus.

Nous utilisons fortement docker-machine pour gérer et maintenir partagé
Machines docker basées sur booot2docker pour DEV interne et staging
environnements utilisant le pilote Hyper-V (nous fournissons donc boot2docker hyper-v
VM utilisant docker-machine). Donc, même si nous avons des clients Linux et Mac et
utilisez donc docker pour windows / os x, nous nous appuyons toujours fortement sur docker-machine
pour nos trucs CI / CD.

Je ne connais aucun remplacement similaire pour cette configuration - est-ce que je manque
quelque chose d'évident ici?

-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/docker/machine/issues/4537?email_source=notifications&email_token=AAGBNX2APIHK6CBNGSAMLDDQ74FYPA5CNFSM4FJ53G3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKAGK7Y#issuecomment-578839935 ,
ou se désinscrire
https://github.com/notifications/unsubscribe-auth/AAGBNXZV7PCYP3TLWSZ7QODQ74FYPANCNFSM4FJ53G3A
.

J'ai aussi appris que docker-machine a été abandonné à la dure la semaine dernière 😒
Sur docs.docker.com, il est dit que docker-machine est "remplacé" mais je ne trouve aucune information sur ce par quoi il a été remplacé. Je veux continuer à gérer mes machines virtuelles locales avec QUELQUE chose, des conseils sur la façon de le faire de manière pérenne?

export DOCKER_HOST = ssh: // user @ host peut fonctionner pour vous

Je veux continuer à gérer mes machines virtuelles locales avec QUELQUE chose, des conseils sur la façon de le faire de manière pérenne?

Vous pouvez utiliser Vagrant pour cela peut-être? Ou vous pouvez simplement continuer à utiliser docker-machine ...

Mais il faudrait venir ici pour les binaires, car il ne fait plus partie de Docker (Desktop)

Je n'ai connaissance d'aucun remplacement similaire pour cette configuration - est-ce que je manque quelque chose d'évident ici?

Il n'y a pas de remplacement, mais beaucoup de gens sont intéressés par l'utilisation continue de la machine et de la libmachine.

Bien sûr, il existe des alternatives (produits différents), mais ce n'est pas vraiment la même chose (comme les fourches).

@afbjorklund Eh bien, j'espère que docker-machine restera dans les

Si ce n'est pas seulement quelque chose qui se passe pour vous en ce moment (seulement), alors mieux vaut probablement envoyer un ping à l'assistance GitHub à ce sujet.

Je ne sais vraiment pas quelle est la meilleure façon de déployer simplement mes conteneurs.
La création de conteneurs via Docker est présentée comme un moyen standard et largement utilisé pour créer des services. C'est donc ce que j'ai utilisé pour créer des conteneurs pour le site Web que je crée en ce moment.
Mais ensuite, je dois très évidemment déployer ces conteneurs sur mon VPS. J'utilise donc docker-machine car c'est la seule façon documentée, et non obsolète, de le faire. Et maintenant j'apprends qu'il est en "mode maintenance" donc je ne veux peut-être pas l'utiliser dans un nouveau projet mais qu'est-ce qu'infrakit? Il y a 2K étoiles mais j'ai du mal à comprendre à quoi ça sert (et peut-il remplacer la machine docker de manière simple) ou les documentations officielles et il est maintenant en mode lecture seule (archivé) donc j'ai l'impression que je ne devrais même pas l'utiliser et il n'y a pas de lien dans ce fichier Readme / problèmes de dépôt vers un nouveau dépôt. Pourquoi n'y a-t-il pas de documentation et est interrompu s'il remplace la machine docker.
Docker semble une solution si populaire, mais je ne trouve pas une seule façon non interrompue (ou en "mode maintenance") pour déployer mes conteneurs. Si docker est si largement utilisé, comment les millions de développeurs qui travaillent avec lui traitent-ils le déploiement de leur application?

Je pense qu'à l'origine, Docker a promu Docker EE, sa version payante, comme moyen officiel de déployer des conteneurs. Ils ont donc annulé les initiatives de la machine Docker et d'Infrakit car cela menaçait leur modèle commercial.

De plus, les k8 ont complètement changé le paysage et Docker a eu du mal à s'adapter.

Maintenant que Mirantis a acquis Docker EE, Docker cherche un autre modèle commercial. Je pense qu'une nouvelle direction essaie d'injecter des bundles d'applications dans l'écosystème k8s et de laisser le déploiement de k8s lui-même à la communauté. D'autant que k8s ne fait pas partie de Docker CE (sous Linux).

K8s, OTOH est géré par Google, qui a tout intérêt à rendre le déploiement de K8 si compliqué que les gens diraient littéralement "Hey, Google, s'il vous plaît installez le cluster K8s pour moi". S'enfermant ainsi dans les services cloud de Google.

Ainsi, la vision de Solomon Hykes de libérer le cloud du verrouillage et de faire du cloud une marchandise a lamentablement échoué.

@NitroBAY Parce que le «cycle de vie du logiciel», de la création de code aux applications exécutées sur des serveurs (et éventuellement mises à jour sur les serveurs) est si complexe, avec une tonne de façons différentes de «créer des images de conteneurs et de les télécharger sur les serveurs», il est difficile de dire quelle devrait être votre solution.

À l'origine, docker-machine devait faire trois choses:

  1. provisionner des VM simples sur les principaux fournisseurs de cloud, ou un gestionnaire de VM de machine locale (VirtualBox, Hyper-V, VMWare, Parallels, etc.)
  2. installer docker sur cette VM, y compris un certificat auto-signé et ouvrir le port TCP API
  3. ssh facile sur ce serveur et contrôle de docker à distance avec le docker cli (docker-machine env)

(oublions les fonctionnalités héritées comme la création d'un essaim classique)

Avec le premier "créer une VM Linux": je vous recommande de le remplacer par l'outil de votre cloud de choix pour la façon dont ils créent des VM. Si c'est local et que vous voulez quelque chose de plus rapide que d'installer une machine virtuelle Linux, consultez multipass , qui est ma façon préférée de faire démarrer une nouvelle machine virtuelle Ubuntu en quelques minutes avec une seule commande.

Avec le second "installer docker sur une machine virtuelle Linux": vous pouvez installer docker sur n'importe quelle machine virtuelle moderne en utilisant le script d'installation ou les documents officiels de la distribution de votre système d'exploitation . La plupart des nuages ​​ont une image officielle avec un docker déjà dedans, en option.

Docker n'a jamais été en mesure de résoudre tous vos problèmes CI / CD, et docker-machine n'est en réalité qu'un outil de provisioning de VM et d'installation de base, de sorte que de nombreuses personnes avaient besoin d'une solution plus flexible et maintenable (par exemple, docker-machine ne partage pas facilement configuration du serveur entre les machines). L'équipe Docker n'a jamais voulu que la machine-outil résolve tous ces problèmes. Cela fonctionne toujours aujourd'hui pour ces choses originales, alors n'hésitez pas à l'utiliser tant que cela fonctionne pour vous. Je l'utilise toujours tous les mois, et ce depuis 2015.

Peut-être que si vous détailliez un problème spécifique résolu par docker-machine, nous pourrions vous recommander des alternatives spécifiques que vous pourriez implémenter.

Par exemple, en ce qui concerne le n ° 3 ci-dessus "contrôler le docker à distance" , j'ai toujours aimé que docker-machine fournisse un certificat auto-signé pour l'authentification API et me permette de changer mon environnement de docker localement afin qu'il puisse contrôler le serveur distant. Cette méthode héritée a été remplacée par la rapide démonstration ici en utilisant la méthode env DOCKER_HOST , et nous avons eu une démo sur mon émission en direct l'été dernier de la nouvelle fonctionnalité de contexte , qui vous permet de stocker une liste de serveurs docker directement dans la CLI de docker et d'utiliser SSH ou TCP pour les contrôler à distance.

En outre, InfraKit est un outil pour les constructeurs de systèmes (personnes qui créent des OS Linux personnalisés), pas pour les utilisateurs Linux comme nous qui veulent une distribution Linux normale créée avec notre hébergeur et y installer docker.

Wow @BretFisher merci beaucoup pour votre réponse très détaillée. Je suis sûr qu'il sera également considéré comme un cadeau en or par les futures personnes qui vous liront.
Pour mémoire, j'ai fini par créer un script téléchargeant mon config.json sur la machine distante (afin qu'il puisse télécharger mon image privée) et le fichier de composition. Et puis exécution du "déploiement de la pile docker"
Mon déploiement sh ressemble à ceci

#!/bin/bash
ssh -o StrictHostKeyChecking=no -l root "$HOST" root@$HOST "mkdir /opt/app; mkdir /root/.docker"
source ./devops/generate-branch-hostname.sh
scp ./devops/docker-compose-prod.yml root@$HOST:/opt/app/docker-compose-prod.yml
scp $HOME/.docker/config.json root@$HOST:/root/.docker/config.json
echo "BRANCH_HOSTNAME=$BRANCH_HOSTNAME"
ssh root@$HOST "export BRANCH_HOSTNAME=$BRANCH_HOSTNAME; docker stack deploy --compose-file /opt/app/docker-compose-prod.yml webapp --with-registry-auth"

(BRANCH_HOSTNAME n'est évidemment pas nécessaire, il se trouve que j'ai simplement différents sous-domaines basés sur la branche Git qui déclenchent mon script (j'utilise CI / CD))
Et j'utilise toujours docker-machine create pour avoir docker sur mon VPS distant ubuntu.

Quoi qu'il en soit, la machine docker n'est PAS une bonne idée sur CI / CD car le partage de certificat n'est pas facile (c'est un dossier entier) et la régénération du certificat peut arrêter Docker donc ce n'est pas non plus une option.

Je crois toujours qu'un outil devrait exister (créé par la communauté ou par docker) qui fournirait DOCKER_HOST etc. et utiliser simplement la clé SSH. Ce serait plus facile que "scp" et "ssh".

La machine Docker s'est avérée ne pas être inévitable.

Je ne suis pas un professionnel, je suis juste quelqu'un qui a appris sur ma propre programmation Web et qui travaille de mon côté sur un grand projet, donc je ne pense pas que K8s correspond à mon besoin car il est décrit comme un outil pas facile, c'est à dire seulement pour au moins des équipes professionnelles moyennes / grandes et vraiment pas pour une personne qui a peu de temps et qui s'occupe à la fois du développement (front / back end) et du déploiement. J'ai donc supposé qu'il y avait encore une place pour Docker mais, peut-être en raison de leur manque de problème dont j'ai entendu parler, les choses devraient être plus claires sur la manière préférée officielle de déployer des applications et leurs plans pour le successeur de la machine docker ou si elles n'avez pas de plan à ce sujet.

Je crois toujours qu'un outil devrait exister (créé par la communauté ou par docker) qui fournirait DOCKER_HOST etc. et utiliser simplement la clé SSH. Ce serait plus facile que "scp" et "ssh".

Faites simplement export DOCKER_HOST=ssh://[email protected]

Notez que si vous avez désactivé la connexion ssh pour root utilisateur, vous pouvez utiliser un utilisateur non root user via
export DOCKER_HOST=ssh://[email protected] après avoir ajouté le user au groupe docker utilisant sudo usermod -aG docker user . (testé sur Ubuntu 18.04)

Une alternative pour jouer avec Docker Swarm multi-nœuds sur Windows? Le didacticiel Swarm indique qu'actuellement, cela n'est pas possible sur Windows sans Docker Machine:

Actuellement, vous ne pouvez pas utiliser Docker Desktop pour Mac ou Docker Desktop pour Windows uniquement pour tester un essaim à plusieurs nœuds. Cependant, vous pouvez utiliser la version incluse de Docker Machine pour créer les nœuds Swarm (voir Premiers pas avec Docker Machine et une VM locale), puis suivre le didacticiel pour toutes les fonctionnalités multi-nœuds.

J'utilise https://multipass.run/ pour créer rapidement plusieurs VM Ubuntu. Aussi rapide que docker-machine. Voir une démo pour savoir comment je l'utilise pour un Swarm à 3 nœuds: https://www.pscp.tv/BretFisher/1mrGmQvNEWBGy?t=

Son utilisation sur le bureau a principalement été supplantée par notre produit Docker Desktop.

Remarque pour tout le monde dans ce fil: Docker Desktop n'est pas un logiciel gratuit, n'est pas open source et contient une tonne de logiciels espions, vous voudrez peut-être réfléchir à deux fois avant de suivre ce chemin de mise à niveau.

Au cas où cela pourrait être utile pour quelqu'un, voici un script pour installer docker sur un hôte distant (testé sur Debian 10 = buster):
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252

Il est basé sur le framework d'automatisation de serveur appelé Fabric (en particulier github et docs fab-classic). Même si vous ne voulez pas utiliser Fabric, vous pouvez facilement lire les commandes et les exécuter manuellement pour devenir un script bash, car rien d'extraordinaire.

Après cela, exécutez export DOCKER_HOST=ssh://[email protected] et vous revenez à la façon dont les choses étaient lors de l'utilisation de la machine docker.

Remarque pour tout le monde dans ce fil: Docker Desktop n'est pas un logiciel gratuit, n'est pas open source et contient une tonne de logiciels espions, vous voudrez peut-être réfléchir à deux fois avant de suivre ce chemin de mise à niveau.

@sneak "tonne de logiciels espions" faites-vous référence au paramètre Préférences "envoyer les statistiques d'utilisation" qui dit: "Envoyer les rapports d'erreur, la version et la langue du système ainsi que les informations sur le cycle de vie de Docker Desktop (par exemple, démarre, s'arrête, se réinitialise).", qui peut être désactivé?

Je ne suis pas intéressé à passer du temps à discuter davantage des logiciels espions propriétaires et fermés.

troll de mauvaise qualité

La pêche à la traîne nécessite un subterfuge. Je suis sincère et mes déclarations sont exactes:

  • docker desktop est propriétaire

  • docker desktop est un logiciel fermé

  • docker desktop espionne ses utilisateurs sans obtenir leur consentement (comme le fait la machine docker)

À partir de ces points ci-dessus, une personne raisonnable pourrait donc conclure que Docker-the-company ne se soucie pas des libertés logicielles, de la confidentialité des utilisateurs ou du consentement des utilisateurs à la surveillance.

Je suis sur GitHub et d'autres sites comme celui-ci pour travailler sur des logiciels libres et open source, et les projets non libres comme le bureau docker sont simplement une distraction du travail sur des logiciels libres qui profite à tout le monde; Je ne souhaite pas détourner mon temps ou mon attention de telles choses.

Il serait préférable de résoudre les problèmes directement plutôt que de recourir à des attaques personnelles. Coupez ce fil maintenant, passez une bonne journée.

Au cas où cela pourrait être utile pour quelqu'un, voici un script pour installer docker sur un hôte distant (testé sur Debian 10 = buster):
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252

Il est basé sur le framework d'automatisation de serveur appelé Fabric (en particulier github et docs fab-classic). Même si vous ne voulez pas utiliser Fabric, vous pouvez facilement lire les commandes et les exécuter manuellement pour devenir un script bash, car rien d'extraordinaire.

Après cela, exécutez export DOCKER_HOST=ssh://[email protected] et vous revenez à la façon dont les choses étaient lors de l'utilisation de la machine docker.

@ivanistheone NON ce n'est pas le cas. docker-machine est (était?) Génial car il implémente également toutes les API de différents fournisseurs de cloud pour créer des machines au niveau de la CLI de manière uniforme. Bien sûr, il y a gcloud , az , etc. mais chacun d'eux a des options et une sémantique différentes. docker-machine est une CLI pour tous. Cela facilite un peu le travail avec les nuages ​​hybrides ...

Cette page vous a été utile?
0 / 5 - 0 notes