J'ai une webApp qui doit stocker des fichiers temporaires partout où il fonctionne. Comme je souhaite que l'application exécute à la fois à Docker et dans un environnement de développement - j'ai besoin d'un répertoire de sécurité qui peut être créé dans l'environnement de développement (Mac OS généralement) et dans le conteneur Docker. P>
J'ai utilisé Quel serait le meilleur répertoire le plus sûr à utiliser? P>
merci p> / usr / temp code> sur le conteneur mais sur un Mac, ce répertoire en inaccessible. P>
3 Réponses :
Docker fournit des volumes concept pour vous aider à synchroniser des données entre hôte et conteneur.
Dans votre cas, indiquez que vous souhaitez synchroniser vous pouvez le faire comme suit cette p> une fois que le conteneur est up and up p> Ajouter un fichier dans le dossier code> DATA CODE> et il sera disponible dans le conteneur dans le dossier / home / utilisateur / data code> à partir de votre
/ usr / temp code> dans le conteneur p>
TEMP code> et d'autre manière. p> p>
Merci, myTwocents mais ce n'est pas exactement ce que je voulais dire - mauvais formulation de mon côté. Ce que je voulais dire, c'est que je veux trouver un chemin que je peux créer en toute sécurité sur le conteneur Docker et les machines de développement - qui sont des MAC. On dirait que je devrai utiliser $ à la maison et veiller à créer un répertoire sur les machines Docker et Dev
Si la variable d'environnement Dans les variables d'environnement général sont un bon moyen d'encapsuler des différences entre votre développement et divers environnements de déploiement et c'est logique ici. P>
N'oubliez pas non plus, d'une part, que quelque chose dans l'espace du système de fichiers Docker que vous ne persistez pas explicitement sera perdu lorsque le conteneur se déroule, et de l'autre, que si le conteneur reste en marche pendant une longue période, il n'y a pas de temps. T Toute sorte de nettoyant automatisé $ TMPDIR code> est définie, c'est un lieu standard pour les fichiers temporaires et s'il n'est pas défini, il est généralement défini sur
/ tmp code>. (Sur MacOS, il pointe un répertoire par utilisateur qui est rapidement rempli d'encombrement.) Vous ne mentionnez pas la langue que vous utilisez, mais la plupart ont une fonction ou un module spécifique pour créer un fichier "dans le répertoire temporaire habituel". , qui est celui-ci. p>
/ tmp code>. Vous aurez besoin de gérer correctement le cycle de vie de ces fichiers. N'oubliez pas non plus que vous avez un contrôle presque complet sur la disposition du système de fichiers du conteneur et si vous avez besoin d'un répertoire spécifique pour exister, vous pouvez
exécuter mkdir code> dans votre DockerFile. P>
J'ai fini par avoir les éléments suivants dans mon dockerfile et dans mes fichiers de configuration, j'ai utilisé Enfin, dans mon code d'application, je m'assurais de préparer toute résolution de trajectoire avec Ce qui précède fonctionne bien dans un environnement de développement, car la maison $ est définie par défaut sur un Mac et également dans la production qui exécute le docker ci-dessus. P> Merci tout le monde! < / p> p> / temp / abc code> ou
/ temp / xyz Code> Pour pointer sur les dossiers de destination. P>
processus.env ["Accueil '] code> (Nodejs ). P>
Utilisez un volume pour cela.