Maison > Article > Opération et maintenance > Comment copier des fichiers hôtes sur Docker
L'utilisation de Docker dans le développement de logiciels est devenue courante de nos jours car elle permet une création, un déploiement et une gestion rapides des applications. Docker est largement utilisé pour créer et exécuter des conteneurs en raison de sa portabilité et de ses fonctionnalités légères. Cependant, de nombreuses personnes peuvent rencontrer des problèmes lorsqu'elles travaillent avec des fichiers dans Docker. Cet article vous apprendra comment copier facilement des fichiers de l'hôte vers Docker.
Comment copier des fichiers dans Docker
Pour copier des fichiers de l'hôte vers Docker, nous pouvons utiliser la commande fournie avec Docker : docker cp
. Cette commande peut copier un fichier ou un répertoire de l'hôte vers un conteneur Docker en cours d'exécution, ou copier un fichier d'un conteneur Docker en cours d'exécution vers l'hôte. docker cp
。这个命令可以将一个文件或目录从宿主机复制到正在运行的 Docker 容器中,或者从正在运行的 Docker 容器复制文件到宿主机。
语法如下:
docker cp <src_path> <container_id>:<dest_path>
这个命令非常简单,其中:
<src_path>
:要复制的文件或文件夹的路径<container_id>
:Docker 容器的 ID<dest_path>
:要复制到的 Docker 容器中的目标路径例如,如果你想将当前目录下的 myfile.txt
文件复制到名为 mycontainer
的 Docker 容器的 /app
目录中,你可以按如下方式操作:
docker cp myfile.txt mycontainer:/app
这个命令将 myfile.txt
文件复制到名为 mycontainer
的 Docker 容器的 /app
目录中。
要将 Docker 容器中的文件复制回宿主机,我们可以使用类似的命令:
docker cp <container_id>:<src_path> <dest_path>
其中:
<container_id>
:Docker 容器的 ID<src_path>
:要复制的文件或文件夹的路径<dest_path>
:要复制到的宿主机中的目标路径例如,如果你想将名为 mycontainer
的 Docker 容器中的 /app/myfile.txt
文件复制到宿主机的 ~/Downloads
目录中,你可以按如下方式操作:
docker cp mycontainer:/app/myfile.txt ~/Downloads
这个命令将 mycontainer
容器中的 /app/myfile.txt
文件复制到宿主机中的 ~/Downloads
目录中。
如何在 Dockerfile 中拷贝文件
上面的方法需要在启动 Docker 容器后手动执行命令,但如果你想在创建 Docker 镜像时自动将文件复制到容器中怎么办?不用担心,我们可以使用 Dockerfile 中的 COPY
命令来实现这一点。
COPY
命令语法如下:
COPY <src_path> <dest_path>
其中:
<src_path>
:要复制的文件或文件夹的路径<dest_path>
:要复制到的 Docker 容器中的目标路径例如,下面是一个基于官方 Python 镜像的 Dockerfile,它将当前目录下的 requirements.txt
文件复制到容器中的 /app
目录中:
FROM python:3.9-slim-buster WORKDIR /app COPY requirements.txt /app RUN pip install --no-cache-dir -r requirements.txt COPY . /app CMD [ "python", "./app.py" ]
在这个 Dockerfile 中,COPY requirements.txt /app
命令将 requirements.txt
文件复制到 Docker 容器中的 /app
目录中。RUN
命令使用这个文件安装必要的依赖项。最后一个 COPY
命令将整个应用程序复制到容器中。
总结
在这篇文章中,我们学习了如何在 Docker 中拷贝文件。使用 docker cp
命令,我们可以将文件从宿主机复制到正在运行的 Docker 容器或从容器复制文件到宿主机。此外,在 Dockerfile 中,我们可以使用 COPY
rrreee
Cette commande est très simple, où : 🎜<src_path>
: Le chemin du fichier ou du dossier à copier li><container_id>
: l'ID du conteneur Docker<dest_path>
: le chemin de destination dans le conteneur Docker vers être copié versmyfile.txt
du répertoire actuel vers /app
du conteneur Docker nommé répertoire mycontainer
, vous pouvez faire comme suit : 🎜rrreee🎜Cette commande copie le fichier myfile.txt
dans /app
du conteneur Docker nommé Répertoire monconteneur
code>. 🎜🎜Pour copier les fichiers du conteneur Docker vers l'hôte, nous pouvons utiliser une commande similaire : 🎜rrreee🎜Où : 🎜<container_id>
: l'ID du Conteneur Docker<src_path>
: Le chemin du fichier ou du dossier à copier<dest_path>
: Le chemin à copier Le chemin cible dans la machine hôte/app/myfile.txt
dans le conteneur Docker nommé mycontainer
Copiez-le dans le répertoire ~/Downloads
de l'hôte. Vous pouvez le faire comme suit : 🎜rrreee🎜Cette commande copiera le /app/myfile dans. le fichier <code>mycontainer
. txt dans le répertoire ~/Downloads
sur la machine hôte. 🎜🎜Comment copier des fichiers dans Dockerfile🎜🎜La méthode ci-dessus nécessite d'exécuter manuellement la commande après le démarrage du conteneur Docker, mais que se passe-t-il si vous souhaitez copier automatiquement les fichiers dans le conteneur lors de la création de l'image Docker ? Ne vous inquiétez pas, nous pouvons y parvenir en utilisant la commande COPY
dans le Dockerfile. 🎜🎜COPY
La syntaxe de la commande est la suivante : 🎜rrreee🎜Où : 🎜<src_path>
: Le chemin du fichier ou du dossier à copié<dest_path>
: le chemin de destination dans le conteneur Docker vers lequel copierrequirements.txt
du répertoire vers le répertoire /app
du conteneur : 🎜rrreee🎜Dans ce Dockerfile, COPY Requirements.txt /app La commande code> copie le fichier <code>requirements.txt
dans le répertoire /app
du conteneur Docker. La commande RUN
utilise ce fichier pour installer les dépendances nécessaires. La dernière commande COPY
copie l'intégralité de l'application dans le conteneur. 🎜🎜Résumé🎜🎜Dans cet article, nous avons appris comment copier des fichiers dans Docker. À l'aide de la commande docker cp
, nous pouvons copier des fichiers de l'hôte vers un conteneur Docker en cours d'exécution ou d'un conteneur vers l'hôte. De plus, dans le Dockerfile, nous pouvons utiliser la commande COPY
pour réaliser une copie automatique de l'hôte vers le conteneur. 🎜🎜J'espère que cet article vous sera utile et vous permettra de mieux gérer et utiliser les conteneurs Docker. 🎜
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!