46 votes

Quel est le but du contexte de génération Docker?

Quel est le but de l'Docker construire contexte? Je comprends, à partir de la documentation, que c'est le point de "entrée" à partir de laquelle le contenu sera envoyé à l'docker démon. Mais ce qui est le point d'envoyer l'ensemble du contenu du répertoire en cours, en supposant que la valeur par défaut de cas d'utilisation fourni dans les exemples, quand on doit également inclure explicitement une COPIE ou d'AJOUTER la directive dans le Dockerfile pour inclure le contenu du répertoire courant dans l'image générée? Si le contexte est l'envoyé du démon pour être inclus dans l'image, alors pourquoi sommes-nous tenus de faire cette étape supplémentaire. Pourquoi ne pas le comprimé télécharger/envoyer/tâche de copie d'inclure le contenu du répertoire spécifié par défaut?

par exemple, compte tenu de cette structure de répertoire

-rw-r--r--  1 me me    7 Jun  8 18:52 .dockerignore
-rw-r--r--  1 me me 1.1K Jun  9 12:42 Dockerfile
drwxr-xr-x 13 me me 4.0K Jun  8 19:43 myproject

Quand je lance cette commande le panneau de construction-t utilisateur/myproject:2.3 .

Alors je m'attends à voir un répertoire myproject quelque part dans l'image générée. Mais, je dois inclure

 ADD myproject /

pour que ce soit le cas.

Si le processus de construction compresse le contenu du répertoire courant et envoie le démon, où faut-il aller? Pourquoi ne pas rendre ce contenu disponible pour une utilisation dans l'image?

32voto

Robert Points 357

TL;DR: "parce que le client et le démon ne peut même pas s'exécuter sur la même machine"

L' docker de commande est le docker client de l' dockerd qui est le service qui peut s'exécuter directement sur votre PC (linux) ou en vertu d'une machine virtuelle Linux sous OSX ou Windows.

Q: Quel est le but de l'Docker construire contexte?

À partir d' ici:

Serait sans doute bon de mentionner aussi que ce qui doit arriver de cette façon parce que le client et le démon ne peut même pas s'exécuter sur la même machine, donc sans ce "contexte" le démon de la machine n'aurait pas un autre moyen de recevoir des fichiers pour AJOUTER ou autrement


Q: Si le processus de construction compresse le contenu du répertoire courant et envoie le démon, où faut-il aller?

Le démon docker reçoit le comprimé de répertoire et de le traiter à la volée; n'a pas d'importance où il est stocké en ce moment.

Q: Pourquoi ne pas rendre ce contenu disponible pour une utilisation dans l'image?

Pensez à ceci: Comment peut-docker savoir où vous souhaitez placer chaque fichier/répertoire à l'image de la cible? Avec COPY/ADD directives vous pouvez contrôler où mettre chacun. Le cas que vous avez mentionné n'est qu'un exemple trivial où vous avez seulement répertoire et seule cible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X