Table des matières
1. Utilisez la commande docker cp
2. 使用共享文件夹
3. 使用Docker Volume
rrreee
Maison Opération et maintenance Docker Comment copier des fichiers dans un conteneur Docker

Comment copier des fichiers dans un conteneur Docker

Apr 10, 2023 pm 02:14 PM

Avec le développement rapide du cloud computing, Docker est devenu une plateforme de déploiement standard pour de nombreuses entreprises et fournisseurs de services cloud. Lors de l'utilisation de conteneurs Docker, il est souvent nécessaire de transférer des fichiers entre l'hôte et le conteneur, et cette exigence fait de la copie de fichiers une compétence nécessaire. Cet article explique comment copier des fichiers dans un conteneur Docker.

1. Utilisez la commande docker cp

Docker fournit une commande spéciale docker cp, qui peut copier des fichiers entre l'hôte et le conteneur. L'utilisation spécifique est la suivante :

docker cp <src_path> <container_id>:<dest_path>
docker cp <container_id>:<src_path> <dest_path>
Copier après la connexion

Parmi eux, <src_path> et <dest_path> représentent respectivement les chemins source et de destination, <container_id&gt ; représente l'ID du conteneur. <src_path><dest_path>分别表示源和目标路径,<container_id>表示容器ID。

例如,要将宿主机中的文件/home/user/file.txt复制到容器中的/var/www/目录下,可以执行以下命令:

docker cp /home/user/file.txt <container_id>:/var/www/
Copier après la connexion

同样的,如果想要将容器中的文件/var/log/nginx/access.log复制到宿主机的/home/user/目录下,可以执行以下命令:

docker cp <container_id>:/var/log/nginx/access.log /home/user/
Copier après la connexion

需要注意的是,如果<dest_path>/结尾,表示目标路径是一个目录,此时需要保证目标路径存在。如果<dest_path>不以/结尾,表示目标路径是一个文件,此时需要保证目标路径的上层目录存在。

2. 使用共享文件夹

另一个向Docker容器下拷贝文件的方法是使用共享文件夹。这个方法的前提条件是在创建容器时需要把宿主机的目录映射到容器内部,这个映射可以通过-v--mount选项来完成:

docker run -v <host_dir>:<container_dir> <image_name>
Copier après la connexion

或者

docker run --mount type=bind,source=<host_dir>,target=<container_dir> <image_name>
Copier après la connexion

其中,<host_dir>表示宿主机中的目录,<container_dir>表示容器中的目录。 接下来,容器内部就可以像使用本地目录一样使用映射目录。

在这种情况下,对于需要传输的文件,只需要将它们放在映射目录下,就可以在容器中访问它们。同样地,容器中生成的文件也可以放在映射目录下,然后在宿主机上访问和处理。

3. 使用Docker Volume

使用Docker Volume也是向Docker容器下拷贝文件的另一种方法。与共享文件夹相似,使用Docker Volume时创建容器时需要把一个宿主机的目录挂载到容器内部。不同的是,这个挂载动作会在Docker守护进程中创建一个标准卷,并将这个卷与容器内的目录关联起来。这使得宿主机和容器之间可以高效地共享文件,而不依赖本地文件系统。

具体使用方法如下:

docker run -v <volume_name>:<container_dir> <image_name>
Copier après la connexion

或者

docker run --mount type=volume,source=<volume_name>,target=<container_dir> <image_name>
Copier après la connexion

其中,<volume_name>表示Docker守护进程中标准卷的名称,<container_dir>表示容器中的路径。与共享文件夹不同的是,Docker Volume需要显式地创建和删除。它可以通过以下命令来完成:

docker volume create <volume_name>
docker volume rm <volume_name>
Copier après la connexion

最后,可以通过以下命令来在宿主机和容器之间复制文件:

docker cp <file_path> <container_id>:<container_dir>
docker cp <container_id>:<container_dir> <file_path>
Copier après la connexion

在这里,<file_path>表示本地路径,<container_id>表示容器ID,<container_dir>

Par exemple, pour copier le fichier /home/user/file.txt de l'hôte vers le répertoire /var/www/ du conteneur, vous pouvez exécuter la commande commande suivante :

rrreee

De même, si vous souhaitez copier le fichier /var/log/nginx/access.log dans le conteneur dans le répertoire /home/user/ de l'hôte, vous pouvez exécuter la commande suivante :

rrreee

A noter que si <dest_path> se termine par /, cela signifie que le chemin cible est un répertoire et vous devez vous assurer que le chemin cible existe. Si <dest_path> ne se termine pas par /, cela signifie que le chemin cible est un fichier. Dans ce cas, vous devez vous assurer que le répertoire supérieur de la cible. le chemin existe. 🎜🎜2. Utilisez un dossier partagé🎜🎜Une autre façon de copier des fichiers dans un conteneur Docker consiste à utiliser un dossier partagé. La condition préalable pour cette méthode est que le répertoire hôte doit être mappé à l'intérieur du conteneur lors de la création du conteneur. Ce mappage peut être effectué via -v ou --mountcode> option : 🎜 rrreee🎜ou🎜rrreee🎜où, <host_dir> représente le répertoire dans l'hôte, et <container_dir> représente le répertoire dans le conteneur. Ensuite, le répertoire mappé peut être utilisé à l'intérieur du conteneur tout comme un répertoire local. 🎜🎜Dans ce cas, pour les fichiers à transférer, il vous suffit de les placer dans le répertoire mappé pour y accéder dans le conteneur. De même, les fichiers générés dans le conteneur peuvent également être placés dans le répertoire mappé, puis consultés et traités sur l'hôte. 🎜🎜3. Utiliser Docker Volume🎜🎜L'utilisation de Docker Volume est une autre façon de copier des fichiers dans le conteneur Docker. Semblable aux dossiers partagés, lors de la création d'un conteneur à l'aide de Docker Volume, vous devez monter un répertoire hôte dans le conteneur. La différence est que cette action de montage crée un volume standard dans le démon Docker et associe ce volume au répertoire dans le conteneur. Cela permet un partage de fichiers efficace entre l'hôte et le conteneur sans dépendre du système de fichiers local. 🎜🎜L'utilisation spécifique est la suivante : 🎜rrreee🎜 ou 🎜rrreee🎜où, <volume_name> représente le nom du volume standard dans le démon Docker, et <container_dir> représente le chemin du conteneur dans . Contrairement aux dossiers partagés, les volumes Docker doivent être créés et supprimés explicitement. Cela peut être fait avec la commande suivante : 🎜rrreee🎜Enfin, les fichiers peuvent être copiés entre l'hôte et le conteneur avec la commande suivante : 🎜rrreee🎜Ici, <file_path> représente le chemin local, <container_id> représente l'ID du conteneur et <container_dir> représente le répertoire dans le conteneur. 🎜🎜Conclusion🎜🎜Dans le processus d'utilisation des conteneurs Docker, la copie de fichiers est quelque chose que nous devons souvent faire. Cet article présente trois méthodes de copie de fichiers vers des conteneurs Docker, à savoir l'utilisation de la commande docker cp, les dossiers partagés et Docker Volume. Ces méthodes ont leurs propres avantages et inconvénients. En pratique, vous devez choisir la méthode qui vous convient le mieux en fonction de vos besoins spécifiques. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Apr 06, 2025 am 12:01 AM

Docker est une compétence incontournable pour les ingénieurs DevOps. 1.Docker est une plate-forme conteneurisée open source qui atteint l'isolement et la portabilité par les applications d'emballage et leurs dépendances dans les conteneurs. 2. Docker fonctionne avec les espaces de noms, les groupes de contrôle et les systèmes de fichiers fédérés. 3. L'utilisation de base comprend la création, l'exécution et la gestion des conteneurs. 4. L'utilisation avancée comprend l'utilisation de dockercosive pour gérer les applications multi-container. 5. Les erreurs courantes incluent une défaillance des conteneurs, des problèmes de cartographie des ports et des problèmes de persistance des données. Les compétences de débogage incluent la visualisation des journaux, la saisie des conteneurs et la visualisation d'informations détaillées. 6. L'optimisation des performances et les meilleures pratiques incluent l'optimisation de l'image, les contraintes de ressources, l'optimisation du réseau et les meilleures pratiques pour l'utilisation de dockerfile.

Decker Security Durcision: protéger vos conteneurs contre les vulnérabilités Decker Security Durcision: protéger vos conteneurs contre les vulnérabilités Apr 05, 2025 am 12:08 AM

Les méthodes d'amélioration de la sécurité Docker incluent: 1. Utilisez le paramètre - Cap-Drop pour limiter les capacités Linux, 2. Créer des conteneurs en lecture seule, 3. Définissez les balises Selinux. Ces stratégies protègent les conteneurs en réduisant l'exposition à la vulnérabilité et en limitant les capacités de l'attaquant.

Volumes de docker: gérer les données persistantes dans les conteneurs Volumes de docker: gérer les données persistantes dans les conteneurs Apr 04, 2025 am 12:19 AM

Dockervolumes garantit que les données restent sûres lorsque les conteneurs sont redémarrés, supprimés ou migrés. 1. Créer un volume: dockervolumecreatemydata. 2. Exécutez le conteneur et le volume de montage: dockerrun-it-vmydata: / app / dataubuntubash. 3. L'utilisation avancée comprend le partage de données et la sauvegarde.

Utilisation de Docker avec Linux: un guide complet Utilisation de Docker avec Linux: un guide complet Apr 12, 2025 am 12:07 AM

L'utilisation de Docker sur Linux peut améliorer l'efficacité du développement et du déploiement. 1. Installez Docker: utilisez des scripts pour installer Docker sur Ubuntu. 2. Vérifiez l'installation: exécutez Sudodockerrunhello-world. 3. Utilisation de base: Créez un conteneur Nginx Dockerrunrun-namemy-nginx-p8080: 80-dnginx. 4. Utilisation avancée: créez une image personnalisée, construisez et exécutez à l'aide de dockerfile. 5. Optimisation et meilleures pratiques: suivez les meilleures pratiques pour écrire des dockerfiles à l'aide de builds en plusieurs étapes et de dockercosive.

Réseautage avancé Docker: Masterring Bridge, Host & Superlay Networks Networks Réseautage avancé Docker: Masterring Bridge, Host & Superlay Networks Networks Apr 03, 2025 am 12:06 AM

Docker fournit trois modes de réseau principaux: le réseau de ponts, le réseau hôte et le réseau de superposition. 1. Le réseau de ponts convient à la communication inter-container sur un seul hôte et est implémenté via un pont virtuel. 2. Le réseau hôte convient aux scénarios où des réseaux haute performance sont nécessaires, et le conteneur utilise directement la pile réseau de l'hôte. 3. Le réseau de superposition convient aux clusters DockersWarm multi-hôtes, et la communication croisée est réalisée via la couche de réseau virtuel.

Docker Swarm: Bâtiment de groupes de conteneurs évolutifs et résilients Docker Swarm: Bâtiment de groupes de conteneurs évolutifs et résilients Apr 09, 2025 am 12:11 AM

Dockerswarm peut être utilisé pour construire des clusters de conteneurs évolutifs et hautement disponibles. 1) Initialisez le cluster d'essaims à l'aide de dockerswarminit. 2) Rejoignez le cluster Swarm pour utiliser Dockerswarmjoin - Takeking :. 3) Créez un service à l'aide de DockerServiceCreate-Namemy-Nginx - Replicas3Nginx. 4) Déployez des services complexes à l'aide de dockerstackdeploy-cdocker-compose.ymlmyapp.

Surveillance de Docker: rassemblement des mesures et suivi la santé des conteneurs Surveillance de Docker: rassemblement des mesures et suivi la santé des conteneurs Apr 10, 2025 am 09:39 AM

Le cœur de la surveillance Docker est de collecter et d'analyser les données de fonctionnement des conteneurs, y compris principalement des indicateurs tels que l'utilisation du processeur, l'utilisation de la mémoire, le trafic réseau et les E / S de disque. En utilisant des outils tels que Prometheus, Grafana et Cadvisor, une surveillance complète et une optimisation des performances des conteneurs peuvent être obtenues.

Meilleures pratiques dockerfile: rédaction d'images efficaces et optimisées Meilleures pratiques dockerfile: rédaction d'images efficaces et optimisées Apr 02, 2025 pm 02:07 PM

Comment créer une image Docker efficace et optimisée? 1. Choisissez l'image de base appropriée, comme l'image officielle ou alpine. 2. Organisez l'ordre des instructions raisonnablement et utilisez le mécanisme de cache Docker. 3. Utilisez la construction en plusieurs étapes pour réduire la taille de l'image. 4. Minimiser le nombre de couches miroir et fusionner les instructions d'exécution. 5. Nettoyez des fichiers temporaires pour éviter l'espace de fichiers inutile.

See all articles