{"id":32873,"date":"2019-10-31T21:49:25","date_gmt":"2019-10-31T18:49:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/izuchaem-docker-chast-6-rabota-s-dannymi\/"},"modified":"2019-10-31T21:49:25","modified_gmt":"2019-10-31T18:49:25","slug":"izuchaem-docker-chast-6-rabota-s-dannymi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","title":{"rendered":"\u00c9tude de Docker, partie 6 : gestion des donn\u00e9es","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dans cette partie de notre s\u00e9rie de traductions sur Docker, nous allons parler de la gestion des donn\u00e9es, en particulier des volumes Docker. Dans ces articles, nous avons constamment compar\u00e9 les m\u00e9canismes de Docker avec diff\u00e9rentes analogies alimentaires. Ne d\u00e9rogeons pas \u00e0 cette tradition ici. Les donn\u00e9es dans Docker seront nos \u00e9pices. Il existe de nombreux types d'\u00e9pices dans le monde, tout comme il existe de nombreuses fa\u00e7ons de travailler avec des donn\u00e9es dans Docker.<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/438796\/\">Partie 1 : les bases<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439978\/\">Partie 2 : termes et concepts<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/439980\/\">Partie 3 : fichiers Dockerfile<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440658\/\">Partie 4 : r\u00e9duction de la taille des images et acc\u00e9l\u00e9ration de leur construction<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/440660\/\">Partie 5 : commandes<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/441574\/\">Partie 6 : gestion des donn\u00e9es<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\"><img decoding=\"async\" alt=\"\u00c9tude de Docker, partie 6 : gestion des donn\u00e9es\" src=\"\/wp-content\/uploads\/2019\/05\/b46a9525df1a3ed70d8e2625fbfd42f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNotez que ce mat\u00e9riel a \u00e9t\u00e9 pr\u00e9par\u00e9 en utilisant l'engin Docker version 18.09.1 et l'API version <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/api\/version-history\/\">1.39<\/a><\/noindex>.<\/p>\n<p>Les donn\u00e9es dans Docker peuvent \u00eatre stock\u00e9es temporairement ou de mani\u00e8re permanente. Commen\u00e7ons par les donn\u00e9es temporaires.<\/p>\n<h2>Stockage temporaire des donn\u00e9es<\/h2>\n<p>\nDans les conteneurs Docker, il existe deux mani\u00e8res d'organiser le travail avec les donn\u00e9es temporaires.<\/p>\n<p>Par d\u00e9faut, les fichiers cr\u00e9\u00e9s par une application fonctionnant dans un conteneur sont sauvegard\u00e9s dans la couche du conteneur qui prend en charge l'\u00e9criture. Il n'est pas n\u00e9cessaire de configurer quoi que ce soit de sp\u00e9cial pour que ce m\u00e9canisme fonctionne. Cela s'av\u00e8re bon march\u00e9 et efficace. L'application doit simplement enregistrer les donn\u00e9es et continuer ses t\u00e2ches. Cependant, lorsque le conteneur cesse d'exister, les donn\u00e9es sauvegard\u00e9es de cette mani\u00e8re dispara\u00eetront \u00e9galement.<\/p>\n<p>Pour stocker des fichiers temporaires dans Docker, une autre solution peut \u00eatre utilis\u00e9e, adapt\u00e9e pour les cas o\u00f9 un niveau de performance plus \u00e9lev\u00e9 est requis par rapport \u00e0 celui obtenu avec le m\u00e9canisme standard de stockage temporaire. Si vous n'avez pas besoin que vos donn\u00e9es soient conserv\u00e9es plus longtemps que la dur\u00e9e de vie du conteneur, vous pouvez connecter un tmpfs au conteneur \u2014 un stockage temporaire qui utilise la m\u00e9moire vive de l'h\u00f4te. Cela permettra d'acc\u00e9l\u00e9rer les op\u00e9rations d'\u00e9criture et de lecture des donn\u00e9es.<\/p>\n<p>Il arrive souvent que les donn\u00e9es doivent \u00eatre conserv\u00e9es m\u00eame apr\u00e8s la disparition du conteneur. Pour cela, nous aurons besoin de m\u00e9canismes de stockage des donn\u00e9es permanents.<\/p>\n<h2>Stockage permanent des donn\u00e9es<\/h2>\n<p>\nIl existe deux fa\u00e7ons de prolonger la dur\u00e9e de vie des donn\u00e9es au-del\u00e0 de celle du conteneur. L'une consiste \u00e0 utiliser la technologie de bind mount. Avec cette approche, il est possible de monter, par exemple, un dossier existant. Les processus situ\u00e9s en dehors de Docker pourront aussi interagir avec les donn\u00e9es stock\u00e9es dans ce dossier. Voici comment <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">cela se pr\u00e9sente<\/a><\/noindex> le montage tmpfs et la technologie bind mount.<\/p>\n<p><img decoding=\"async\" alt=\"\u00c9tude de Docker, partie 6 : gestion des donn\u00e9es\" src=\"\/wp-content\/uploads\/2019\/05\/73b9b7fd59b1321edb9f58953285d8d5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Montage tmpfs et bind mount<\/i><\/p>\n<p>Les inconv\u00e9nients de l'utilisation de la technologie bind mount r\u00e9sident dans le fait que son utilisation complique la sauvegarde des donn\u00e9es, la migration des donn\u00e9es et le partage des donn\u00e9es entre plusieurs conteneurs. Il est beaucoup mieux d'utiliser des volumes Docker pour le stockage permanent des donn\u00e9es.<\/p>\n<h2>Volumes Docker<\/h2>\n<p>\nUn volume est un syst\u00e8me de fichiers qui se trouve sur l'h\u00f4te, en dehors des conteneurs. Docker est responsable de la cr\u00e9ation et de la gestion des volumes. Voici les principales caract\u00e9ristiques des volumes Docker :<\/p>\n<ul>\n<li>Ils sont des moyens de stockage permanent de l'information.<\/li>\n<li>Ils sont ind\u00e9pendants et s\u00e9par\u00e9s des conteneurs.<\/li>\n<li>Ils peuvent \u00eatre utilis\u00e9s en commun par diff\u00e9rents conteneurs.<\/li>\n<li>Ils permettent d'organiser une lecture et un \u00e9criture efficaces des donn\u00e9es.<\/li>\n<li>Les volumes peuvent \u00eatre plac\u00e9s sur les ressources d'un fournisseur de cloud distant.<\/li>\n<li>Ils peuvent \u00eatre chiffr\u00e9s.<\/li>\n<li>Ils peuvent \u00eatre nomm\u00e9s.<\/li>\n<li>Un conteneur peut pr\u00e9remplir le volume avec des donn\u00e9es.<\/li>\n<li>Ils sont pratiques pour les tests.<\/li>\n<\/ul>\n<p>\nComme vous pouvez le voir, les volumes Docker ont d'excellentes propri\u00e9t\u00e9s. Parlons de la fa\u00e7on de les cr\u00e9er.<\/p>\n<h2>Cr\u00e9ation de volumes<\/h2>\n<p>\nLes volumes peuvent \u00eatre cr\u00e9\u00e9s avec Docker ou via des requ\u00eates API.<\/p>\n<p>Voici une instruction dans Dockerfile qui permet de cr\u00e9er un volume lors du d\u00e9marrage du conteneur.<\/p>\n<pre><code class=\"plaintext\">VOLUME \/my_volume<\/code><\/pre>\n<p>\nEn utilisant cette instruction Docker, apr\u00e8s la cr\u00e9ation du conteneur, un volume sera cr\u00e9\u00e9 contenant les donn\u00e9es d\u00e9j\u00e0 pr\u00e9sentes \u00e0 l'endroit sp\u00e9cifi\u00e9. Notez que si vous cr\u00e9ez un volume avec Dockerfile, cela ne vous dispense pas d'indiquer le point de montage du volume.<\/p>\n<p>Il est possible de cr\u00e9er des volumes dans Dockerfile en utilisant \u00e9galement le format JSON.<\/p>\n<p>De plus, les volumes peuvent \u00eatre cr\u00e9\u00e9s \u00e0 partir de la ligne de commande pendant que le conteneur est en cours d'ex\u00e9cution.<\/p>\n<h2>Travailler avec des volumes depuis la ligne de commande<\/h2>\n<p><\/p>\n<h3>\u258dCr\u00e9ation d'un volume<\/h3>\n<p>\nVous pouvez cr\u00e9er un volume ind\u00e9pendant avec la commande suivante :<\/p>\n<pre><code class=\"plaintext\">docker volume create --name my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dV\u00e9rification des informations sur les volumes<\/h3>\n<p>\nPour afficher la liste des volumes Docker, utilisez la commande suivante :<\/p>\n<pre><code class=\"plaintext\">docker volume ls<\/code><\/pre>\n<p>\nPour explorer un volume sp\u00e9cifique, vous pouvez proc\u00e9der comme suit :<\/p>\n<pre><code class=\"plaintext\">docker volume inspect my_volume<\/code><\/pre>\n<p><\/p>\n<h3>\u258dSuppression d'un volume<\/h3>\n<p>\nVous pouvez supprimer un volume comme ceci :<\/p>\n<pre><code class=\"plaintext\">docker volume rm my_volume<\/code><\/pre>\n<p>\nPour supprimer tous les volumes qui ne sont pas utilis\u00e9s par des conteneurs, vous pouvez utiliser la commande suivante :<\/p>\n<pre><code class=\"plaintext\">docker volume prune<\/code><\/pre>\n<p>\nAvant de supprimer des volumes Docker, une confirmation vous sera demand\u00e9e pour effectuer cette op\u00e9ration.<\/p>\n<p>Si un volume est li\u00e9 \u00e0 un conteneur, ce volume ne peut pas \u00eatre supprim\u00e9 tant que le conteneur correspondant n'a pas \u00e9t\u00e9 supprim\u00e9. De plus, m\u00eame si le conteneur est supprim\u00e9, Docker ne le comprend pas toujours. Si cela se produit, vous pouvez utiliser la commande suivante :<\/p>\n<pre><code class=\"plaintext\">docker system prune<\/code><\/pre>\n<p>\nCette commande est destin\u00e9e \u00e0 nettoyer les ressources Docker. Apr\u00e8s l'ex\u00e9cution de cette commande, vous devriez pouvoir supprimer les volumes dont le statut a \u00e9t\u00e9 mal identifi\u00e9 auparavant.<\/p>\n<h2>Les drapeaux \u2014mount et \u2014volume<\/h2>\n<p>\nPour travailler avec des volumes, lorsque vous invoquez la commande <code>docker<\/code>, vous devrez souvent utiliser des drapeaux. Par exemple, pour cr\u00e9er un volume lors de la cr\u00e9ation d'un conteneur, vous pouvez utiliser cette construction :<\/p>\n<pre><code class=\"plaintext\">docker container run --mount source=my_volume, target=\\\/container\\\/path\\\/for\\\/volume my_image<\/code><\/pre>\n<p>\nAutrefois (avant 2017), le drapeau <code>--volume<\/code>\u00e9tait populaire. \u00c0 l'origine, ce drapeau (il peut \u00e9galement \u00eatre utilis\u00e9 sous une forme abr\u00e9g\u00e9e, alors il appara\u00eet comme <code>-v<\/code>) \u00e9tait utilis\u00e9 pour des conteneurs autonomes, tandis que le drapeau <code>--mount<\/code> \u00e9tait utilis\u00e9 dans un environnement Docker Swarm. Cependant, \u00e0 partir de Docker 17.06, le drapeau <code>--mount<\/code> peut \u00eatre utilis\u00e9 dans tous les sc\u00e9narios.<\/p>\n<p>Il convient de noter que l'utilisation du drapeau <code>--mount<\/code> augmente le volume des donn\u00e9es suppl\u00e9mentaires \u00e0 indiquer dans la commande, mais pour plusieurs raisons, il vaut mieux utiliser ce drapeau plut\u00f4t que <code>--volume<\/code>. L'option <code>--mount<\/code> -- c'est le seul m\u00e9canisme qui permet de travailler avec des services ou de sp\u00e9cifier les param\u00e8tres du pilote de volume. De plus, travailler avec ce drapeau est plus simple.<\/p>\n<p>Dans les exemples de commandes existants, visant \u00e0 travailler avec des donn\u00e9es dans Docker, vous pouvez rencontrer de nombreux exemples d'utilisation du drapeau <code>-v<\/code>. En essayant d'adapter ces commandes, gardez \u00e0 l'esprit que les drapeaux <code>--mount<\/code> et <code>--volume<\/code> utilisent diff\u00e9rents formats de param\u00e8tres. Autrement dit, il n'est pas juste possible de remplacer <code>-v<\/code> sur <code>--mount<\/code> et d'obtenir une commande fonctionnelle.<\/p>\n<p>La principale diff\u00e9rence entre <code>--mount<\/code> et <code>--volume<\/code> est que lors de l'utilisation du drapeau <code>--volume<\/code> tous les param\u00e8tres sont regroup\u00e9s ensemble, dans un seul champ, alors qu'en utilisant <code>--mount<\/code> Les param\u00e8tres sont s\u00e9par\u00e9s.<\/p>\n<p>Lors de l'utilisation de <code>--mount<\/code> Les param\u00e8tres sont pr\u00e9sent\u00e9s sous forme de paires cl\u00e9-valeur, \u00e0 savoir, cela ressemble \u00e0 <code>cl\u00e9=valeur<\/code>. Ces paires sont s\u00e9par\u00e9es par des virgules. Voici des param\u00e8tres fr\u00e9quemment utilis\u00e9s <code>--mount<\/code>:<\/p>\n<ul>\n<li><code>type<\/code> \u2014 type de montage. La valeur pour la cl\u00e9 correspondante peut \u00eatre <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/bind-mounts\/\">bind<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/\">volume<\/a><\/noindex> ou <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/tmpfs\/\">tmpfs<\/a><\/noindex>. Ici, nous parlons des volumes, c'est-\u00e0-dire que nous nous int\u00e9ressons \u00e0 la valeur <code>volume<\/code>.<\/li>\n<li><code>source<\/code> \u2014 source de montage. Pour les volumes nomm\u00e9s, il s'agit du nom du volume. Pour les volumes non nomm\u00e9s, cette cl\u00e9 n'est pas sp\u00e9cifi\u00e9e. Elle peut \u00eatre abr\u00e9g\u00e9e en <code>src<\/code>.<\/li>\n<li><code>destination<\/code> \u2014 chemin o\u00f9 le fichier ou le dossier est mont\u00e9 dans le conteneur. Cette cl\u00e9 peut \u00eatre abr\u00e9g\u00e9e en <code>dst<\/code> ou <code>cible<\/code>.<\/li>\n<li><code>readonly<\/code> \u2014 monte le volume qui est destin\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/storage\/volumes\/#use-a-read-only-volume\">en lecture seule<\/a><\/noindex>. L'utilisation de cette cl\u00e9 est facultative, aucune valeur n'est assign\u00e9e.<\/li>\n<\/ul>\n<p>\nVoici un exemple d'utilisation <code>--mount<\/code> avec de nombreux param\u00e8tres :<\/p>\n<pre><code class=\"plaintext\">docker run --mount type=volume,source=volume_name,destination=\\\/path\\\/in\\\/container,readonly my_image<\/code><\/pre>\n<p><\/p>\n<h2>R\u00e9sultats<\/h2>\n<p>\nVoici des commandes utiles que vous pouvez utiliser lors du travail avec des volumes Docker :<\/p>\n<ul>\n<li><code>docker volume create<\/code><\/li>\n<li><code>docker volume ls<\/code><\/li>\n<li><code>docker volume inspect<\/code><\/li>\n<li><code>docker volume rm<\/code><\/li>\n<li><code>docker volume prune<\/code><\/li>\n<\/ul>\n<p>\nVoici une liste de param\u00e8tres fr\u00e9quemment utilis\u00e9s pour <code>--mount<\/code>, applicables dans une commande de type <code>docker run --mount my_options my_image<\/code>:<\/p>\n<ul>\n<li><code>type=volume<\/code><\/li>\n<li><code>source=volume_name<\/code><\/li>\n<li><code>destination=\\\/path\\\/in\\\/container<\/code><\/li>\n<li><code>readonly<\/code><\/li>\n<\/ul>\n<p>\nMaintenant que nous avons termin\u00e9 cette s\u00e9rie de mat\u00e9riaux sur Docker, il est temps de dire quelques mots sur o\u00f9 aller ensuite pour ceux qui apprennent Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.freecodecamp.org\/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b\">Voici<\/a><\/noindex> un grand article sur Docker. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Docker-Deep-Dive-Nigel-Poulton-ebook\/dp\/B01LXWQUFF\">Voici<\/a><\/noindex> un livre sur Docker (en achetant ce livre, essayez d'obtenir la derni\u00e8re \u00e9dition disponible). <noindex><a rel=\"nofollow\" href=\"https:\/\/dockerbook.com\/\">Voici<\/a><\/noindex> un autre livre qui conviendra \u00e0 ceux qui estiment que la pratique est le meilleur moyen d'apprendre les technologies.<\/p>\n<p><b>Chers lecteurs !<\/b> Quels mat\u00e9riaux sur Docker recommanderiez-vous aux d\u00e9butants ?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"\u00c9tude de Docker, partie 6 : gestion des donn\u00e9es\" src=\"\/wp-content\/uploads\/2019\/05\/78a5dd35cfae6d1e291f175957207436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/441574\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker. \u0412 \u044d\u0442\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u0445 \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b Docker \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u044a\u0435\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u044f\u043c\u0438. \u041d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0445\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438 \u0438 \u0437\u0434\u0435\u0441\u044c. \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 Docker \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0441\u043f\u0435\u0446\u0438\u044f\u043c\u0438. \u0412 \u043c\u0438\u0440\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0439, \u0430 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c Docker, \u0447\u0430\u0441\u0442\u044c 6: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:49:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:49:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Apprendre Docker, partie 6 : travail avec les donn\u00e9es | ProHoster","description":"Dans cette partie de la traduction de la s\u00e9rie de mat\u00e9riaux sur Docker, nous allons parler du travail avec les donn\u00e9es. En particulier \u2014 des volumes Docker.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c Docker, \u0447\u0430\u0441\u0442\u044c 6: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 | ProHoster","og:description":"\u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e Docker \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043e \u0442\u043e\u043c\u0430\u0445 Docker.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/izuchaem-docker-chast-6-rabota-s-dannymi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:49:25+00:00","article:modified_time":"2019-10-31T18:49:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32873","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 12:57:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:56:03","updated":"2026-08-11 12:50:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/32873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=32873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/32873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/24642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=32873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=32873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=32873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}