Avec l'utilisation généralisée de Docker dans le développement d'applications et le cloud computing, de nombreux utilisateurs constatent que lors du téléchargement d'images et de conteneurs Docker, ils ne savent pas où ces fichiers seront enregistrés. Dans cet article, nous détaillerons l'emplacement et la méthode de sauvegarde des fichiers téléchargés dans Docker.
La structure du système de fichiers des fichiers téléchargés dans Docker
Avant de comprendre l'emplacement de stockage des fichiers téléchargés dans Docker, vous devez d'abord comprendre la structure du système de fichiers des images et des conteneurs Docker.
L'image Docker est un système de fichiers virtuel qui contient le système de fichiers racine. Les images Docker utilisent la technologie Union FS. Dans l'image, les systèmes de fichiers des différentes couches sont en lecture seule et seule la couche inscriptible la plus élevée est accessible en écriture.
La structure de fichiers du système de fichiers d'image Docker est la suivante :
/ # 根目录 |-- bin/ # 可执行文件目录 |-- dev/ # 设备文件目录 |-- etc/ # 配置文件目录 |-- home/ # 用户根目录 |-- lib/ # 库文件目录 |-- media/ # 可移动设备目录 |-- mnt/ # 挂载目录 |-- opt/ # 可选应用程序目录 |-- proc/ # 进程信息目录 |-- root/ # 系统管理员目录 |-- run/ # 运行时文件目录 |-- sbin/ # 系统可执行文件目录 |-- srv/ # 服务目录 |-- sys/ # 系统文件目录 |-- tmp/ # 临时文件目录 |-- usr/ # 用户程序目录 |-- var/ # 可变数据目录 `-- docker/ # Docker自身用目录
Lorsque Docker démarre un conteneur, il ajoute une couche inscriptible en lecture-écriture à la couche supérieure de l'image pour le stockage Nouveaux fichiers et données requis pour l'exécution de l'application. Cette couche inscriptible fait partie du système de fichiers du conteneur.
La structure des fichiers du système de fichiers du conteneur Docker est la suivante :
/ # 根目录 |-- bin/ # 可执行文件目录 |-- dev/ # 设备文件目录 |-- etc/ # 配置文件目录 |-- home/ # 用户根目录 |-- lib/ # 库文件目录 |-- media/ # 可移动设备目录 |-- mnt/ # 挂载目录 |-- opt/ # 可选应用程序目录 |-- proc/ # 进程信息目录 |-- root/ # 系统管理员目录 |-- run/ # 运行时文件目录 |-- sbin/ # 系统可执行文件目录 |-- srv/ # 服务目录 |-- sys/ # 系统文件目录 |-- tmp/ # 临时文件目录 |-- usr/ # 用户程序目录 |-- var/ # 可变数据目录 `-- docker/ # Docker自身用目录
L'emplacement de stockage des fichiers téléchargés dans Docker
Les fichiers téléchargés dans Docker seront enregistrés dans la couche inscriptible de l'image ou du conteneur. stocké dans le conteneur utilisé dans le conteneur et peut également être exporté du conteneur vers le système de fichiers hôte.
Voici quelques exemples de téléchargements de fichiers et comment les trouver.
Lors de l'exécution d'une image Docker, vous pouvez utiliser les instructions AJOUTER ou COPIER dans le fichier Docker pour ajouter des fichiers à l'image.
Le format de l'instruction ADD est :
ADD source destination
où la source est le fichier ou le répertoire de l'hôte et la destination est le répertoire de l'image Docker.
Le format de l'instruction COPY est :
COPY source destination
où source est le fichier ou le répertoire de l'hôte et destination est le répertoire de l'image Docker.
Par exemple, le Dockerfile suivant copiera le fichier index.html de l'hôte vers le répertoire /var/www de l'image :
FROM nginx COPY index.html /var/www/
Au moment de l'exécution, vous pouvez utiliser la commande docker inspect de Docker pour trouver ce fichier :
$ docker inspect [imageID] | grep "/var/www/index.html"
Il existe de nombreuses façons de télécharger des fichiers dans le conteneur Docker, notamment en utilisant des commandes telles que wget, curl, scp, etc. Vous pouvez également utiliser les instructions ADD et COPY pour copier des fichiers depuis le conteneur Docker. hôte.
Utilisez wget pour télécharger des fichiers dans un conteneur :
$ docker run -it ubuntu wget http://example.com/file.txt
Voici les étapes à suivre pour utiliser wget pour télécharger des fichiers dans un conteneur :
Créez un conteneur Ubuntu :
$ docker run -it ubuntu
Installez wget :
$ apt-get update $ apt-get install wget
Téléchargez des fichiers à l'aide de wget :
$ wget http://example.com/file.txt
Utilisez la commande docker cp de Docker pour copier les fichiers du conteneur vers l'hôte :
$ docker cp [containerID]:/file.txt .
Utilisez curl pour télécharger le fichier dans le conteneur :
Prenons l'exemple du téléchargement du logo de Google :
$ docker run -it ubuntu curl -o google_logo.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
Utilisez les instructions ADD et COPY pour copier le fichier de l'hôte vers Dans le conteneur :
Semblable à l'image, vous pouvez également copier des fichiers de l'hôte vers le conteneur à l'aide des instructions ADD et COPY de Docker. Ces fichiers seront enregistrés dans une couche inscriptible locale au conteneur.
Voici un exemple de Dockerfile qui utilise l'instruction ADD pour copier un fichier de l'hôte dans un conteneur :
FROM ubuntu ADD file.txt /app/
Au moment de l'exécution, ce fichier peut être trouvé à l'aide de la commande docker inspect de Docker :
$ docker inspect [containerID] | grep "/app/file.txt"
Résumé
Fichiers téléchargés dans Docker La couche inscriptible sera enregistrée dans l'image ou le conteneur correspondant, et les fichiers peuvent être téléchargés ou copiés à partir du conteneur via les instructions Docker ou à l'aide d'outils courants. Leur emplacement et leurs méthodes sont relativement faciles à maîtriser, vous n'avez donc pas à trop vous soucier de ces problèmes lorsque vous utilisez 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!