Je suis nouveau sur Docker. J'ai essayé de comprendre comment «combiner» plusieurs images Docker mais je n'arrive pas à trouver une réponse claire. J'ai lu sur SO que l'ajout de plusieurs instructions FROM est possible mais déconseillé.

Par exemple, je veux une image qui présente NGINX et MongoDB. Dois-je simplement copier-coller le contenu de leurs fichiers docker officiels en un seul? Quelle est la manière recommandée de les combiner?

2
Alex G. 5 janv. 2016 à 14:01

2 réponses

Meilleure réponse

Bien qu'il soit logique de combiner certains services, par exemple nginx et un ensemble d'outils de script côté serveur, je recommanderais de ne pas mélanger un conteneur nginx et un conteneur mongodb.

À la place, utilisez chaque service dans son propre conteneur et liez les conteneurs. Pour faciliter le processus, je recommande vivement de lire sur docker-compose afin de construire une pile.

1
k0pernikus 6 janv. 2016 à 13:56

Docker utilise l'héritage unique plutôt que la composition. Et c'est l'une des fonctionnalités manquantes pour moi.

Cela étant dit, vous devriez rarement en avoir besoin, car vous devez exécuter 1 chose sur 1 conteneur. Donc, dans vos cas, je conseillerais d'utiliser 2 images.

Si vous avez vraiment besoin de l'exécuter sur un, je suggérerais de copier-coller la configuration qui rend NGINX installé sur l'image de base MongoDB ou vice versa. Ensuite, ajoutez Supervisord pour exécuter les deux

1
Fuxi 5 janv. 2016 à 11:06