Maison  >  Article  >  Opération et maintenance  >  Comment copier le système de fichiers dans Docker

Comment copier le système de fichiers dans Docker

PHPz
PHPzoriginal
2023-04-18 10:26:082721parcourir

Docker est un outil de virtualisation populaire qui facilite la création, la publication et l'exécution d'applications. Il est basé sur la technologie des conteneurs et utilise plusieurs couches pour gérer diverses dépendances de l'application, ce qui peut isoler complètement l'application et la rendre plus portable et évolutive. Lorsque nous utilisons Docker, nous devons souvent copier les systèmes de fichiers de plusieurs conteneurs. Nous présenterons ici comment Docker copie le système de fichiers pour faciliter le transfert et le partage de fichiers entre différents conteneurs.

1. Utilisez la commande docker cp

L'interface de ligne de commande Docker fournit une commande Dockerfile cp, qui peut être utilisée pour copier des fichiers à l'intérieur du conteneur ou copier des fichiers de l'intérieur du conteneur vers le local. L'utilisation est la suivante :

docker cp [OPTIONS] CONTAINER:SRC_PATH LOCAL_DEST_PATH
docker cp [OPTIONS] LOCAL_SRC_PATH CONTAINER:DEST_PATH

où CONTAINER représente le nom du conteneur ou l'ID du conteneur ; SRC_PATH représente le répertoire ou le fichier dans le conteneur, qui est connecté au nom du conteneur via  : ; LOCAL_DEST_PATH représente le chemin du système de fichiers local, indiquant le chemin du conteneur Copier vers local ; LOCAL_SRC_PATH représente le chemin du système de fichiers local, ce qui signifie copier du local vers le conteneur. Nous pouvons saisir la commande suivante dans le terminal pour copier les fichiers du conteneur vers le local : :与容器名称相连;LOCAL_DEST_PATH表示本地文件系统路径,表示从容器复制到本地;LOCAL_SRC_PATH表示本地文件系统路径,表示从本地复制到容器。我们可以在终端中输入以下命令将容器中的文件拷贝到本地:

docker cp my-container:/path/to/file /local/destination

这将把my-container容器中的/path/to/file文件拷贝到/local/destination目录下。

我们还可以使用通配符来拷贝整个目录,如:

docker cp my-container:/path/to/dir/* /local/destination

这将拷贝my-container容器中的/path/to/dir目录内的所有文件和子文件到/local/destination目录。

2.将文件复制到同一网络中的其他容器中

我们常常将多个容器链接在同一网络中,以便进行服务发现和容器间通信。在这种情况下,我们可以使用docker cp

docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER_NAME_OR_ID
Cela copiera le fichier /path/to/file dans le my-container Copier dans le répertoire <code>/local/destination.

Nous pouvons également utiliser des caractères génériques pour copier l'intégralité du répertoire, tels que :

docker cp /local_path/file.txt CONTAINER_NAME_OR_ID:/path/within/container/
Cela copiera tous les fichiers du répertoire /path/to/dir dans le mon-conteneur code> fichiers conteneur et sous-fichiers dans le répertoire <code>/local/destination.

2. Copiez des fichiers vers d'autres conteneurs du même réseau

Nous connectons souvent plusieurs conteneurs dans le même réseau pour la découverte de services et la communication entre conteneurs. Dans ce cas, nous pouvons utiliser la commande docker cp pour copier les fichiers vers d'autres conteneurs du même réseau. Tout d’abord, nous devons connaître l’adresse IP du conteneur que nous souhaitons copier. Nous pouvons obtenir l'adresse IP du conteneur en exécutant la commande suivante :

docker cp /local_path/filename.txt ssh://user@remotehost:/path/within/container/filename.txt
Cela renverra l'adresse IP du conteneur. Nous pouvons ensuite copier les fichiers vers d'autres conteneurs en utilisant la commande suivante :

rrreee

Cela copiera les fichiers locaux vers d'autres conteneurs du même réseau.

3. Copier les fichiers sur l'hôte Docker distant 🎜🎜 Si nous souhaitons copier des fichiers sur l'hôte Docker distant, nous devons utiliser SSH. SSH nous permet d'établir une connexion à distance sécurisée et d'y exécuter des commandes. Tout d’abord, nous devons nous assurer que nous avons ajouté la clé SSH de l’hôte Docker distant que nous souhaitons connecter à notre trousseau de clés. Nous pouvons ensuite copier le fichier à l'aide de la commande suivante : 🎜rrreee🎜 Cela copiera le fichier dans le répertoire spécifié sur l'hôte distant. Veuillez noter que lors de la connexion à un hôte Docker distant via SSH, l'utilisateur doit disposer des autorisations suffisantes pour accéder à l'hôte distant et au conteneur. 🎜🎜Résumé🎜🎜Grâce à la méthode ci-dessus, nous pouvons utiliser la commande docker cp pour copier le système de fichiers afin de faciliter le transfert et le partage de fichiers entre différents conteneurs. Avec cette approche, nous pouvons implémenter de nombreux scénarios différents, tels que la copie de fichiers d'un conteneur à un autre, la copie de fichiers d'un conteneur vers un local ou la copie de fichiers vers un hôte Docker distant. Cela rend Docker plus flexible dans son utilisation réelle, nous permettant de mieux répondre aux différents besoins. 🎜

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:
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