Maison  >  Article  >  Opération et maintenance  >  Comment copier des éléments dans un conteneur Docker

Comment copier des éléments dans un conteneur Docker

PHPz
PHPzoriginal
2023-04-17 16:40:2811150parcourir

Ces dernières années, l'utilisation de conteneurs Docker est devenue de plus en plus répandue. Ils permettent de packager des applications sous forme de conteneurs pour faciliter le portage vers différents environnements. Mais dans certains scénarios, nous devrons peut-être copier les données ou le code dans le conteneur Docker. Cet article explique comment copier les éléments dans le conteneur Docker.

Données et code dans les conteneurs Docker

Dans certains scénarios, nous devons copier les données ou le code dans le conteneur pour faciliter la sauvegarde, la migration, le débogage et d'autres besoins. Dans Docker, les données et le code sont principalement stockés dans le système de fichiers du conteneur. Les différents conteneurs sont isolés les uns des autres et ne peuvent donc pas être copiés directement. Les données et le code doivent être copiés sur l'hôte via certaines commandes. Deux méthodes courantes sont présentées ci-dessous :

1. Utilisez la commande docker cp pour copier des données

La commande docker cp peut copier des fichiers locaux dans le conteneur, et elle peut le faire. copiez également les fichiers locaux dans le conteneur. Copiez les fichiers du conteneur vers le local. Voici comment utiliser cette commande :

docker cp <容器ID或名称>:<容器内路径> <宿主机路径>

Parmi eux, <Container ID or name> représente l'ID ou. nom du conteneur qui doit être copié, <Chemin dans le conteneur> indique le chemin du fichier dans le conteneur qui doit être copié, et <Chemin de l'hôte> code> indique le chemin de l'hôte sur lequel le fichier doit être copié. <code><容器ID或名称>表示需要拷贝的容器的ID或名称,<容器内路径>表示需要拷贝的容器内的文件路径,<宿主机路径>表示需要将文件拷贝到的宿主机路径。

例如,将容器nginx中的/etc/nginx/nginx.conf文件拷贝到宿主机的/opt目录下:

docker cp nginx:/etc/nginx/nginx.conf /opt

2. 利用docker commit命令创建镜像

利用docker commit命令可以将容器中的文件系统打包成一个新的镜像,具体使用方法如下:

docker commit -m "commit message" <容器ID或者名称> <新的镜像名称>

其中,-m选项表示本次commit操作的说明。<容器ID或者名称>表示需要打包成镜像的容器的ID或者名称,<新的镜像名称>表示生成的新的镜像名称。

例如,将容器nginx

Par exemple, copiez le fichier /etc/nginx/nginx.conf dans le conteneur nginx dans le répertoire /opt de la machine hôte :

docker commit -m "backup nginx config" nginx nginx-config-backup

2. Utilisez la commande docker commit pour créer une image

Utilisez la commande docker commit pour empaqueter le système de fichiers dans le conteneur dans une nouvelle image :
    rrreee
  1. Parmi eux, le <. option code>-m Indique la description de cette opération de validation. <ID ou nom du conteneur> indique l'ID ou le nom du conteneur qui doit être empaqueté dans une image. <Nom de la nouvelle image> indique le nom de la nouvelle. image générée.
  2. Par exemple, emballez le système de fichiers dans le conteneur nginx dans une nouvelle image :
  3. rrreee
Résumé

La copie des données et du code dans le conteneur Docker est un besoin courant dans le travail quotidien. commence par Deux aspects présentent comment implémenter : 🎜🎜🎜Utilisez la commande docker cp pour copier les fichiers du conteneur sur la machine locale pour une sauvegarde et un débogage faciles. 🎜🎜Utilisez la commande docker commit pour regrouper le système de fichiers dans le conteneur dans une nouvelle image afin de faciliter la migration et la sauvegarde. 🎜🎜🎜Les deux méthodes ci-dessus peuvent réaliser la nécessité de copier les données et le code dans le conteneur. Vous pouvez choisir la méthode appropriée en fonction de la situation réelle. 🎜

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