0
votes

Un répertoire de sécurité pouvant être utilisé dans Docker et un environnement de développement

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.

J'ai utilisé / usr / temp sur le conteneur mais sur un Mac, ce répertoire en inaccessible.

Quel serait le meilleur répertoire le plus sûr à utiliser?

merci


1 commentaires

Utilisez un volume pour cela.


3 Réponses :


0
votes

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 / home / utilisateur / data à partir de votre à / usr / temp dans le conteneur

vous pouvez le faire comme suit cette xxx

une fois que le conteneur est up and up

Ajouter un fichier dans le dossier DATA et il sera disponible dans le conteneur dans le dossier TEMP et d'autre manière.


1 commentaires

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



1
votes

Si la variable d'environnement $ TMPDIR 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 . (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.

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.

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é / tmp . 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 dans votre DockerFile.


0 commentaires

0
votes

J'ai fini par avoir les éléments suivants dans mon dockerfile xxx

et dans mes fichiers de configuration, j'ai utilisé / temp / abc ou / temp / xyz Pour pointer sur les dossiers de destination.

Enfin, dans mon code d'application, je m'assurais de préparer toute résolution de trajectoire avec processus.env ["Accueil '] (Nodejs ).

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.

Merci tout le monde! < / p>


0 commentaires